git 提交流程及问题总结

    对刚工作的小白,git仓库的提交一定是个大问题,尤其时公司一堆人都在一个分支上开发的时候,那提交频率十几分钟一个提交。那你向上push代码的时候就会遇到非常经典的报错问题,

! [rejected]  dev -> dev (fetch first) error: failed to push some refs to "远程仓库地址"

   这个问题的引起就是,你在写你本地文件的时候,远程仓库已经被同事提交修改了,这时候你要向上push代码就会提示上述问题.
   我的解决思路就是,先将对方代码pull下来,保持同步一致再向上push就可以,你要是这样做大体会遇到下一个新问题:

当你pull后 可能会遇到

error: Your local changes to the following files would be overwritten by merge
: Please, commit your changes or stash them before you can merge

  翻译过来就是 您对以下文件的本地更改将被合并覆盖:请在合并之前提交或隐藏更改.

   原因就是其他人修改了某文件并提交到git库中,而你本地也修改了某文件,这时候你进行git pull操作就会出现冲突.这种时候就要先解决冲突,在代码拉下来后会提示你有冲突的文件,你可以手动选到冲突文件,看一看两边的代码,选择保留那部分还是进行合并.

  那么除了这种方法

    如果你pull代码前看了一下别人提交的代码 发现没有冲突的文件或者有冲突文件需要手动合并,那么就可以用到git pull --rebase(git帮我们自动创建了一个新的分支,并且git告诉你接下来你要在这个新的分支上处理这个冲突,避免了直接污染原来的分区) 

   此时执行git status命令后可以看到首要的提示是这样的:

rebase in progress; onto 24f42c6
You are currently rebasing branch 'dev' on '36sd2b7'.
(fix conflicts and then run "git rebase --continue")

  并且git还告诉我们 fix conflicts and then run "git rebase --continue",意思是解决冲突然后执行    git rebase --continue命令,

  其实git rebase --continue的正确操作应该是确认处理好冲突后则将调整好的文件添加到暂存区,并执行git rebase --continue命令告诉git,我已经解决好冲突了,并且已经将处理后的文件添加到了暂存区,现在可以将这些文件commit,然后push就提交成功了.

总结一个流程图吧:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值