当前位置:   article > 正文

git操作_git push origin dev --force

git push origin dev --force
  • 暂存
  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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/725356
推荐阅读
相关标签
  

闽ICP备14008679号