工作中遇到的git问题

200 阅读1分钟

问题一:master revert开发分支之后怎么再merge回去?

1.本地从新的master切一个新的分支并且push 2.远程的feat分支cherry pick之前被revert的提交 3.删除原来被revert的分支

  • 为什么从新的master的分支切了新的分支之后直接cherry pick得到的会是空?因为之前这些提交都被merge过了

问题二:git pull --rebase之后,是无尽的重复的confilicts

1.去掉rebase,左侧会显示修改的

  • gl --rebase gl的区别 1.git pull --rebase用在合并代码的时候其作用就是在一个随机创建的分支上处理冲突,避免了直接污染原来的分区 2.rebase没有产生新的节点,使用rebase的git演进路线(提交树)是一直向前的,这样在版本回退时也很容易,用merge的git路线是跳跃的,如果版本回退你也找不到自己想要的版本?

问题三:直接复制文件的坑

场景:不能在旧分支直接拉master代码,直接复制文件到新分支,导致新分支的代码跟master不同步,导致 master上有的某些代码被删除,这样做了无论是直接拉master还是merge都不会有被删除的,慎用此方法!