git操作

  • 暂存
  1. git stash save ""
  2. git stash  pop
  • cherry-pick
  1. git cherry-pick 序列号
  2. git push
  • 中断merge
  1. git merge --abort
  • reset(强制回到某一个版本,之后的提交全部没了)
  1. git reset --hard 序列号
  2. git push origin master --force
  • revert(撤销某一次提交,之后的提交还在)
  1. git revert -m 1 序列号
  2. git push origin master
  • rebase(用于把一个分支的修改合并到当前分支)
  • never use it on public branches(不要在公共分支上使用)
  1. git checkout master
  2. git pull
  3. git checkout dev
  4. git rebase -i HEAD~2  //合并提交 --- 2表示合并两个,这里是将本地分支的近两次提交合并成一次提交(简化提交历史,减少冲突解决次数)
  5. git rebase master---->解决冲突(每次只能解决一个冲突)--->git add . --->git rebase --continue
  6. git push origin dev --force (本地分支可以不推送远程,就没有这一步)
  7. git checkout master
  8. git merge dev
  9. git push origin master

如果你rebase master 到你的feature分支:

rebase 将所有master的commit移动到你的feature 的顶端。问题是:其他人还在original master上开发,由于你使用了rebase移动了master,git 会认为你的主分支的历史与其他人的有分歧,会产生冲突。

在执行git rebase 之前 问问自己,

会有其他人看这个分支么?
if YES 不要采用这种带有破坏性的修改commit 历史的rebase命令
if NO ok,随你便,可以使用rebase

rebase 和 merge  总结

都是用于把一个分支的修改合并到当前分支

如果你想要一个干净的,没有merge commit的线性历史树,那么你应该选择git rebase
如果你想保留完整的历史记录,并且想要避免重写commit history的风险,你应该选择使用git merge

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值