git的基本使用(2)

参考地址:点击打开链接      

十六,从远程仓库抓取数据

从远程仓库抓取数据使用命令: $ git fetch [remote-name]
此命令会到远程仓库中拉取所有你本地仓库中还没有的数据。运行完成后,你就可以在本地访问该远程仓库中的所有分支,将其中某个分支合并到本地,或者只是取出某个分支,一探究竟。如果是克隆了一个仓库,此命令会自动将远程仓库归于 origin 名下。所以,`git fetch origin` 会抓取从你上次克隆以来别人上传到此远程仓库中的所有更新(或是上次 fetch 以来别人提交的更新)。有一点很重要,需要记住,fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。
如果设置了某个分支用于跟踪某个远端仓库的分支,可以使用 'git pull` 命令自动抓取数据下来,然后将远端分支自动合并到本地仓库中当前分支。在日常工作中我们经常这么用,既快且好。实际上,默认情况下 'git clone` 命令本质上就是自动创建了本地的 master 分支用于跟踪远程仓库中的 master 分支(假设远程仓库确
实有 master 分支)。所以一般我们运行 'git pull`,目的都是要从原始克隆的远端仓库中抓取数据后,合并到工作目录中的当前分支。
十七,推送数据到远程仓库
将本地仓库中的数据推送到远程仓库。实现这个任务的命令很简单: 'git push [remote-name] [branch-name]'。如果要把本地的 master 分支推送到'origin'服务器上(再次说明下,克隆操作会自动使用默认的 master 和 origin 名字),可以运行下面的命令:
$ git push origin master
只有在所克隆的服务器上有写权限,或者同一时刻没有其他人在推数据,这条命令才会如期完成任务。如果在你推数据前,已经有其他人推送了若干更新,那你的推送操作就会被驳>回。你必须先把他们的更新抓取到本地,合并到自己的项目中,然后才可以再次推送。
十八,查看远程仓库信息
我们可以通过命令 'git remote show [remote-name]' 查看某个远程仓库的详细信息。比如要看所克隆的 'origin'仓库,可以运行:
$ git remote show origin
十九,远程仓库的删除和重命名
在新版 Git 中可以用 'git remote rename'命令修改某个远程仓库在本地的简称,比如想把 'pb'改成'paul',可以这么运行:
$ git remote rename pb paul
注意,对远程仓库的重命名,也会使对应的分支名称发生变化,原来的 'pb/master' 分支现在成了 'paul/master
如果要删除远端仓库,可以运行 'git remote rm'命令,例如:"$ git remote rm paul"
二十,列显已有的标签
列出现有标签的命令非常简单,直接运行'git tag'。显示的标签按字母顺序排列,所以标签的先后并不表示重要程度的轻重。我们可以用特定的搜索模式列出符合条件的标签。在 Git 自身项目仓库中,有着非常多标签,如果你只对 1.4.2 系列的版本感兴趣,可以运行下面的命令:
$ git tag -l 'v1.4.2.*'
二十一,新建标签
Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签
署或验证。一般我们都建议使用含附注型的标签,以便保留相关信息;当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。
二十二,含附注的标签
创建一个含附注类型的标签非常简单,用'-a'(译注:取'annotated'的首字母)指定标签名字即可:
$ git tag -a v1.4 -m 'my version 1.4'
而 '-m'选项则指定了对应的标签说明,Git 会将此说明一同保存在标签对象中。如果没有给出该选项,Git 会启动文本编辑软件供你输入标签说明。
可以使用 'git show'命令查看相应标签的版本信息,并连同显示打标签时的提交对象。例如: $ git show v1.4
二十三,签署标签
如果你有自己的私钥,还可以用 GPG 来签署标签,只需要把之前的'-a'改为'-s'(译注: 取 'signed'的首字母)即可
$ git tag -s v1.5 -m 'my signed 1.5 tag'
二十四,轻量级标签
轻量级标签实际上就是一个保存着对应提交对象的校验和信息的文件。要创建这样的标签,直接给出标签名称即可,不用任何选项。例如:
$ git tag v1.4-lw
二十五,验证标签
可以使用 'git tag -v [tag-name]' (译注:取'verify'的首字母)的方式验证已经签署的标签。此命令会调用 GPG 来验证签名,所以你需要有签署者的公钥,存放在 keyring 中,才能验证。如果没有公钥,会提出错误。
二十六,后期加注标签
你可以在后期对前期的某次提交加注标签,比如下面的提交历史:
$ git log --pretty=oneline
166ae0c4d3f420721acbb115cc33848dfcc2121a started write support
        9fceb02d0ae598e95dc970b74767f19372d61af8 updated rakefile
        964f16d36dfccde844893cac5b347e7b3d44abbc commit the todo
我们忘了在提交 “updated rakefile” 后为此项目打上版本号 v1.2,没关系,现在也能做。只要在打标签的时候跟上对应提交对象的校验和(或前几位字符)即可:
        $ git tag -a v1.2 9fceb02
二十七,分享标签
默认情况下,'git push'并不会把标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。其命令格式如同推送分支,运行 'git push origin [tagname]' 即可:
$ git push origin v1.5
如果要一次推送所有本地新增的标签上去,可以使用'--tags'选项:
$ git push origin --tags
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值