目录
第2步,登陆GitHub,打开“Account settings”,“SSH Keys”页面
一、github上申请一个远程仓库
第1步,创建SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com"
SSH Key的秘钥对,id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,可以放心地告诉任何人。
第2步,登陆GitHub,打开“Account settings”,“SSH Keys”页面
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub
文件的内容
为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。
如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。
二、添加远端仓库
git remote add <shortname> <url>
将远程仓库唯一的URL<url> 映射成为 在本地仓库中,对远程仓库起的别名<shortname>
git给远程库起的默认名称是origin,如果有多个远程库,我们需要用不同的名称来标识不同的远程库
git remote add origin git@github.com:****/*****.git // 默认
git remote add github git@github.com:michaelliao/learngit.git //远程仓库名为github
git remote add gitee git@gitee.com:liaoxuefeng/learngit.git //远程仓库名为gitee
参考:http://t.zoukankan.com/szrs-p-15315325.html
三、查看远端仓库信息
git remote -v
origin git@github.com:****/*****.git (fetch)
origin git@github.com:****/*****.git (push)
四、删除远端仓库
git remote rm origin
五、推送远程仓库
git push origin master
git push <远程仓库名> <本地分支名>:<远程分支名>
省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
$ git push origin master --> $ git push origin master:master
如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。
$ git push origin
如果当前分支只有一个追踪分支,那么主机名都可以省略。
git push
如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push。
$ git push -u origin master
六、分支操作
git branch -M main 切换并重命名主分支master为main(master与黑人敏感词有关)
With a -m or -M option, will be renamed to . If exists, -M must be used to force the rename to happen.
git branch //列出所有本地分支
git branch -r //列出所有远程分支
git branch -v //列出本地分支及commit id和commit -m信息
git branch 分支名字 //创建本地分支,但依然留在当前分支上
git checkout -b 分支名字 //新建一个分支,并切换到该分支
git switch -c dev //新建一个分支,并切换到该分支
git checkout 分支名 //切换分支
git switch 分支名 //切换分支
git branch --delete 本地分支名字 //删除本地分支
git branch -d 分支名字 //删除分支
git merge 分支名字 //合并指定分支到当前分支
七、拉取操作
git pull 命令用于取代从远程获码并合并本地的版本
git pull 其实就是 git fetch 和 git merge FETCH_HEAD 的简写
git pull <远程主机名> <远程分支名>:<本地分支名>
更新操作
git pull
git pull origin
git pull origin master:brantest
将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并
git pull origin master
如果远程分支是与当前分支合并,则冒号后面的部分可以省略