跟我学Git(二)

标记

Git可以把特定的历史版本标记为重要版本。

创建注释标签
git tag -a v1.4 -m "add tag"

-a表示标签为注释标签,-m指定标记信息,它会和标签一起存储。

补加标签

更多的情况是经过多次测试,确定了一个稳定的历史版本,这时候需要补加标签说明。

git tag -a v1.2 9fceb02  # 可通过git log查看SHA-1校验和
推送标签

以上操作都在本地添加标签,而且git push命令不会把标签传输到远程服务器上,标签需要明确的单独推送。

git push origin v1.5    # 将1.5这一标签推送到远程
git push origin --tags  # 将所有服务器上还没有的标记一次性推送

分支

创建名称不一致的分支
git checkout -b sf origin/serverfix

执行完上述命令后,本地分支sf就会从origin/serverfix上获取数据
如果想给本地已存在的分支设置跟踪分支,或者更改本地分支对应的远程分支,使用git branch命令的 -u或是–set-upstream-to。

git branch -u origin/serverfix

上述操作结束,可以通过git branch -vv选项来查看已经设置了哪些跟踪分支。会输出所有本地分支的列表及每个分支跟踪的远程分支信息。

变基

变基的工作原理:首先找到两个要整合的分支的共同祖先,然后取得当前所在分支的每次提交引入的更改,并把这些更改保存为临时文件,这之后将当前分支重置为要整合到的分支,最后在该分支上依次引入之前保存的每个更改。

git checkout experiment    # 当前分支
git rebase master          # 目标分支
git checkout master      
git merge experiment       

以上操作虽用到变基,但最终的整合效果和merge得到的是一样的,但变基操作可以获得更简洁的提交历史,得到的分支的提交历史看起来是一条线。

撤销提交

撤销某一历史提交有两种方式

git revert commit_id          # 撤销一次提交
git rebase -i HEAD~2          # 对前两次提交进行rebase操作

第一种方式会在提交历史中记录下来,以撤销add2为例:

第二种方式会弹出如下编辑器,在vim窗口中add2提交的前面改为d或者drop即可,提交历史中不会有记录。

变基与合并操作的对比

合并操作是记录实际发生过的事件的记录
变基操作是记录关于项目如何被构建的故事
无论选择合并还是变基,对代码改动的结果记录是一样的,只是对操作的记录不一样,rebase让开发的记录更好看,更简洁。merge让每一步操作都可追溯。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值