笔记 : 将本地项目上传到GitHub
一、准备工作
1. 注册github账号https://github.com, 安装git工具 https://git-for-windows.github.io/
2. 创建SSH KEY(由于本地Git仓库和Github仓库之间的传输是通过SSH加密, 需要设置加密连接,如已经创建跳过, 于C:\Users\用户名\.ssh目录下id_rsa和id_rsa.pub, 如没有通过命令行创建)
(1)运行命令 $ ssh-keygen -t rsa -C "注册的github邮箱"
(2) 一直按回车键知道运行结束,查看C:\Users\用户名\下生成.ssh目录
(3) 登录github添加SSH KEY
Settings -> SSH and GPG KEYS -> SSH keys -> New SSH key
(4) 将id_rsa.pub文件内的内容复制到 Key框中, Title可以自定义, 点击Add SSH key,至此本地与github连接成功。
二、上传项目
方法一 :
1. 进入github首页 , 点击右上角“+”开始创建仓库(New repository)
2. 填写相关信息(
Repository name: 仓库名称
Description(可选): 仓库描述介绍
Public, Private : 仓库权限(公开共享,私有或指定合作者)
Initialize this repository with a README: 添加一个README.md
gitignore: 不需要进行版本管理的仓库类型,对应生成文件.gitignore
license: 证书类型,对应生成文件LICENSE
3. 填写完毕 Create repository,点击 Clone or download , 选择复制仓库地址或者下载ZIP压缩包
4. 克隆仓库到本地,在需要创建项目的目录下打开git bash命令行工具 ,执行命令 : git clone https://github.com/hughes5135/Test.git
5. 克隆完毕, 进入Test目录并创建和编写项目文件(如: index.html)
6. 将本地项目同步至github : 项目根目录下打开git bash命令工具, 依次输入以下命令
git status ( 注 : 查看当前仓库状态, 红色表示还未上传同步的文件)
git add . (注:别忘记后面的.,此操作是把Test文件夹下面的文件都添加进来)
git commit -m "提交信息" (注:“提交信息”里面换成你需要,如“first commit”)
git push -u origin master (注:此操作目的是把本地仓库push到github上面,此步骤需要你输入帐号和密码)
最后即可在gitbuh的Test仓库页上看到index.html
方法二 : (其实类似方法一,顺序有些变化而已)
1. 在本地新建仓库目录并初始化
$ mkdir Test & cd Test
$ git init
$ touch index.html
2. 在github新建仓库Test, 注: 此时不要自动创建README,如勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第九步你将本地仓库内容推送到远程仓库的时候就会报一个failed to push some refs to https://github.com/guyibang/TEST2.git的错
3. 开始上传项目
$ git add .
$ git commit -m "描述"
4. github仓库关联到本地仓库
$ git remote add origin https://github.com/hughes5135/Test.git
5. 本地仓库push到远程仓库 ,第一次push需要参数 -u , 因为此时远程仓库是空的
$ git push -u origin master
6. push成功,可在github仓库上看到index.html文件
附git bash 常用命令 :
查看、添加、提交、删除、找回,重置修改文件
git help <command> # 显示command的help git show # 显示某次提交的内容 git show $id git co -- <file> # 抛弃工作区修改 git co . # 抛弃工作区修改 git add <file> # 将工作文件修改提交到本地暂存区 git add . # 将所有修改过的工作文件提交暂存区 git rm <file> # 从版本库中删除文件 git rm <file> --cached # 从版本库中删除文件,但不删除文件 git reset <file> # 从暂存区恢复到工作文件 git reset -- . # 从暂存区恢复到工作文件 git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改 git ci <file> git ci . git ci -a # 将git add, git rm和git ci等操作都合并在一起做 git ci -am "some comments" git ci --amend # 修改最后一次提交记录 git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象 git revert HEAD # 恢复最后一次提交的状态
查看提交记录
git log git log <file> # 查看该文件每次提交记录 git log -p <file> # 查看每次详细修改内容的diff git log -p -2 # 查看最近两次详细修改内容的diff git log --stat #查看提交统计信息
Git 本地分支管理
查看、切换、创建和删除分支
git br -r # 查看远程分支 git br <new_branch> # 创建新的分支 git br -v # 查看各个分支最后提交信息 git br --merged # 查看已经被合并到当前分支的分支 git br --no-merged # 查看尚未被合并到当前分支的分支 git co <branch> # 切换到某个分支 git co -b <new_branch> # 创建新的分支,并且切换过去 git co -b <new_branch> <branch> # 基于branch创建新的new_branch git co $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除 git co $id -b <new_branch> # 把某次历史提交记录checkout出来,创建成一个分支 git br -d <branch> # 删除某个分支 git br -D <branch> # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)
分支合并和reba
git merge <branch> # 将branch分支合并到当前分支 git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交 git rebase master <branch> # 将master rebase到branch,相当于: git co <branch> && git rebase master && git co master && git merge <branch>
Git补丁管理(方便在多台机器上开发同步时用)
git merge <branch> # 将branch分支合并到当前分支 git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交 git rebase master <branch> # 将master rebase到branch,相当于: git co <branch> && git rebase master && git co master && git merge <branch>
Git暂存管
git stash # 暂存 git stash list # 列所有stash git stash apply # 恢复暂存的内容 git stash drop # 删除暂存区 Git远程分支管理 git pull # 抓取远程仓库所有分支更新并合并到本地 git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并 git fetch origin # 抓取远程仓库更新 git merge origin/master # 将远程主分支合并到本地当前分支 git co --track origin/branch # 跟踪某个远程分支创建相应的本地分支 git co -b <local_branch> origin/<remote_branch> # 基于远程分支创建本地分支,功能同上
git push # push所有分支
git push origin master # 将本地主分支推到远程主分支 git push -u origin master # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库) git push origin <local_branch> # 创建远程分支, origin是远程仓库名 git push origin <local_branch>:<remote_branch> # 创建远程分支 git push origin :<remote_branch> #先删除本地分支(git br -d <branch>),然后再push删除远程分支
Git远程仓库管
git remote -v # 查看远程服务器地址和仓库名称 git remote show origin # 查看远程服务器仓库状态 git remote add origin git@ github:robbin/robbin_site.git # 添加远程仓库地址 git remote set-url origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址(用于修改远程仓库地址) git remote rm <repository> # 删除远程仓库
创建远程仓库
git clone --bare robbin_site robbin_site.git # 用带版本的项目创建纯版本仓库 scp -r my_project.git git@ git.csdn.net:~ # 将纯仓库上传到服务器上 mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服务器创建纯仓库 git remote add origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址 git push -u origin master # 客户端首次提交 git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且track git remote set-head origin master # 设置远程仓库的HEAD指向master分支 14 git branch --set-upstream master origin/master
15 git branch --set-upstream develop origin/develop
笔记 : 将本地项目上传到GitHub的更多相关文章
- 将本地项目上传到Github
将本地项目上传到Github 转载请注明出自天外归云的博客. 前提 已经下载了Git到本地. 创建Repository 首先登陆我的Github页面,在Repositories中New一个并起Repo ...
- 详细教程:将本地项目上传到github
作为 一个工程师,将本地项目上传到github进行备份和分享是一个不错的技能,一来可以方便以后的工作,二来可以分享自己的成果.所以下面本人详细教大家如何将本地项目上传到github,十分简单,一学就会 ...
- Git的使用-如何将本地项目上传到Github
默认你的电脑上已经安装了git. 第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹). 你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建. 现在我通过命令行 ...
- 如何用命令将本地项目上传到github
一.Git终端软件安装 1.下载windows上git终端,类似shell工具,下载地址:http://msysgit.github.io/ 2.安装方法,打开文件,一路点击Next即可 3.安装完成 ...
- 使用 vscode将本地项目上传到github以及删除github上的某个文件夹
安装Git后,可以看到windows环境下有两个命令输入窗口Git CMD 和Git Bash Git GUI是可视化图形界面 Git中的Bash是基于CMD的,在CMD的基础上增添一些新的命令与功能 ...
- 如何通过TortoiseGit(小乌龟)把本地项目上传到github上
1.第一步: 安装git for windows(链接:https://gitforwindows.org/)一路next就好了, 如果遇到什么问题可以参考我另外一篇文章~^ - ^ 2.第二步:安装 ...
- Git的使用--如何将本地项目上传到Github(三种简单、方便的方法)
一.第一种方法: 1.首先你需要一个github账号,所以还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路(傻瓜式安装) ...
- Git学习系列之如何正确且高效地将本地项目上传到Github(图文详解)
不多说,直接上干货! 首先你需要一个Github账号,所以还没有的话先去注册吧! https://github.com/ 见 如何走上更高平台分享传递干货知识:(开通个人Github面向开源及私有软件 ...
- 如何将本地项目上传至GitHub(so easy!!!)
如何将本地项目上传至GitHub 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直 ...
随机推荐
- GPU安装小结
今天一起安装了4块1080的卡.也算有一些坑吧,记录一下. 1)1080显卡,驱动型号,tensorflow,cuda, cudnn 版本一定要一致.我的清单如下: ################# ...
- role="navigation"
HTML5的标签属性,可以用于标识一个普通的标签,使之语义化,方便浏览器对其具体功能进行识别. 例如div容器制作的导航栏,加上role="navigation",就可以让浏览器知 ...
- linux状态及原理全剖析
Table of Contents 1 linux 1.1 proc filesystem 1.1.1 /proc 1.1.1.1 /proc/meminfo 1.1.1.2 /proc/stat 1 ...
- zookeeper集群扩容/下线节点实践
环境:zookeeper版本 3.4.6jdk版本 1.7.0_8010.111.1.29 zk110.111.1.44 zk210.111.1.45 zk310.111.1.46 zk410.111 ...
- Git 子模块:git submodule
imtianx 2018年03月08日阅读 2057 Git 子模块:git submodule 工作中,可能会遇到在一个Git仓库 中添加 其他 Git 仓库的场景.比如,在项目中引用第三方库.或者 ...
- elasticsearch in docker/ and aggregation,,performance tune ;throughout
Docker环境中Elasticsearch的安装 ]https://wenchao.ren/archives/category/elasticsearch/page/2 [ElasticSearch ...
- 网易云课堂-spark
==============================Flink比spark优秀,但既生瑜何生亮,所以Flink没火起来 为了使用sortbykey,需要RDD的元素是key-value的形式 ...
- Altium Designer 绘图流程及快捷键
1.Shift+Ctrl+g 设置栅格捕捉大小 2.Q 切换单位 3.E+N +点击字体 改变字体大小 4.自动布线前需在Mechanical 层和keepout层添加一个边框 5.打过孔实现双面走线 ...
- Appium入门(5)__ Appium测试用例(1)
步骤为:启动AVD.启动Appium.写用例(python).执行 一.启动Android模拟器 二.启动Appium Server 双击appium图标启动,配置 ...
- MySQL加锁处理分析(转)
add by zhj: 非常棒的一篇文章,是我见过的讲加锁最棒最详细的文章了.之前听过网易的<MySQL微专业>,里面的课程讲的也很好,但锁这块讲的跟 这篇文章相比,还是有差距的.网易&l ...