远程仓库
git remote :列出每个远程库的简短名字。如:origin。
git remote -v :显示对应的克隆地址,如:
originhttp://gitlab.xxx.corp/xxx.git
添加远程库:
git remote add pb git://github.com/xxx.git
pb 指代对应的仓库地址。
git fetch pb : 抓取远程有的,但本地仓库没有的信息。
fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支。
git pull :自动抓取数据下来,然后将远端分支自动合并到本地仓库中当前分支。
推送数据到远程仓库
$ git push origin master
如果在你推数据前,已经有其他人推送了若干更新,那你的推送操作就会被驳回。你必须先把他们的更新抓取到本地,合并到自己的项目中,然后才可以再次推送。
远程仓库的删除和重命名
想把 pb 改成 paul,可以这么运行:
$ git remote rename pb paul
删除远程仓库,可以运行 git remote rm 命令:
$ git remote rm paul$ git remoteorigin
标签
列显已有的标签
$ git tagv0.1v1.3
可以搜索标签,如果你只对 1.4.2 系列的版本感兴趣:
$ git tag -l 'v1.4.2.*'v1.4.2.1v1.4.2.2v1.4.2.3
新建标签
Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。一般我们都建议使用含附注型的标签,以便保留相关信息;当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。
轻量级标签
轻量级标签是一个保存着对应提交对象的校验和信息的文件。
$ git tag v1.4
含附注的标签
创建一个含附注类型的标签非常简单,用 -a (译注:取 annotated 的首字母)指定标签名字即可:
$ git tag -a v1.4 -m '备注信息'$ git tagv1.4
-m 选项指定了对应的标签说明,Git 会将此说明一同保存在标签对象中。
签署标签
如果你有自己的私钥,还可以用 GPG 来签署标签,只需要把之前的 -a 改为 -s (signed 的首字母)即可:
$ git tag -s v1.5 -m 'my signed 1.5 tag'You need a passphrase to unlock the secret key foruser: "Scott Chacon "1024-bit DSA key, ID F721C45A, created 2009-02-09
可以运行 git show 查看相应标签信息。
验证标签
可以使用$ git tag -v v1.4.1 的方式验证已经签署的标签。此命令会调用 GPG 来验证签名,所以你需要有签署者的公钥,存放在 keyring 中。
后期加注标签
你可以在后期对早先的某次提交加注标签。
$ git tag -a v1.2 9fceb02
9fceb02 : 提交的id
分享标签
git push 并不会把标签传送到远端服务器上,需要下面命令:
$ git push origin v1.5
如果要一次推送所有本地新增的标签上去,可以使用 --tags 选项:
$ git push origin --tags
下篇会讲Git分支合并、冲突处理