提交都在master主分支上提交的;
项目是两个开发,因为经常使用对方文件比较多,不打算分支开发在主分支提交和修改,我们每次提交代码 都是先git pull
然后git add . git commit git push
这样的命令,但是经常报错,说什么版本更新被拒绝,因为您当前分支的提示后面
Updates were rejected because the tip of your current branch is behind
这样什么原因导致的;
PHPz2017-05-02 09:50:29
比如你的线上分支有两个提交1和2
你的线下分支也有两个提交1和3
这个时候你把线上分支pull下来之后有可能是123 也有可能是132(用google百度一下rebase)
如果你线上的分支是12你线下的分支pull以后是132 那就会产生冲突导致你这种情况(只能在末尾加不能在中间插)
还有一种情况就是用了amend 这个时候虽然看似你线上线下是一个提交(commit message一样) 实际上已经不一样了(commit id变了) 所以git会认为是两个提交 这两个提交改变的地方有重叠 导致冲突产生
要解决这个问题需要用push -f强制提交 请认真搜索仔细研究这个命令的作用 产生一切后果概不负责
習慣沉默2017-05-02 09:50:29
先看下状态git status ,红的话就git add . ,警告就强行-A, add之后是commit ,commit再pull下载,pull完有冲突先解决冲突再重新从add开始,最后push,至少我这样做好少有错。。
我想大声告诉你2017-05-02 09:50:29
因为已经在git的远程仓库上提交代码了, 你不能直接提交了, 你必须先把远程仓库的代码同步到你的本地, 才可以提交, 一般情况下提交之前 习惯性git pull --rebase