git 提交问题
天蓬老师
天蓬老师 2017-05-02 09:48:29
0
6
657

提交都在master主分支上提交的;

项目是两个开发,因为经常使用对方文件比较多,不打算分支开发在主分支提交和修改,我们每次提交代码 都是先git pull 然后git add . git commit git push这样的命令,但是经常报错,说什么版本更新被拒绝,因为您当前分支的提示后面
Updates were rejected because the tip of your current branch is behind
这样什么原因导致的;

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(6)
PHPzhong

比如你的线上分支有两个提交1和2
你的线下分支也有两个提交1和3
这个时候你把线上分支pull下来之后有可能是123 也有可能是132(用google百度一下rebase)
如果你线上的分支是12你线下的分支pull以后是132 那就会产生冲突导致你这种情况(只能在末尾加不能在中间插)
还有一种情况就是用了amend 这个时候虽然看似你线上线下是一个提交(commit message一样) 实际上已经不一样了(commit id变了) 所以git会认为是两个提交 这两个提交改变的地方有重叠 导致冲突产生
要解决这个问题需要用push -f强制提交 请认真搜索仔细研究这个命令的作用 产生一切后果概不负责

刘奇

你是不是有过amend提交啊

刘奇

git pull --rebase (逃

黄舟

你拉下代码来git pull了以后,你应该和你本地的git rebase master合并一下,然后再push

習慣沉默

先看下状态git status ,红的话就git add . ,警告就强行-A, add之后是commit ,commit再pull下载,pull完有冲突先解决冲突再重新从add开始,最后push,至少我这样做好少有错。。

我想大声告诉你

因为已经在git的远程仓库上提交代码了, 你不能直接提交了, 你必须先把远程仓库的代码同步到你的本地, 才可以提交, 一般情况下提交之前 习惯性git pull --rebase

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板