我安装了Git版本2.8.1.windows.1并在MINGW64 bash shell下运行。
我有一个远程的裸存储库,我定期推送我的提交(实际上,几乎每次提交后)。我通常通过输入 Ctrl - D 来终止会话。
有两次,在完成当天的第一次提交之后,当我在推送之前用“git status
”命令跟进它时,它显示我是远程存储库后面的一个提交(并且一次提交提前)。
虽然我的磁盘文件反映了最新的更新,但似乎我在关闭前一天执行的最后一次提交不再在我的本地存储库中。
我现在被迫首先与远程存储库上的“git pull
”合并,在我再次推送之前破坏了我的本地文件(冲突)。
我应该怎样做以避免这种情况?
答案 0 :(得分:0)
远程存储库后面的一次提交(以及一次提交)
这意味着你有某种分歧:你有远程仓库没有的本地提交,而且远程有一个你不在本地的提交。
由于远程仓库应该是您的备份仓库,解决这种情况的最简单方法(在git pull
之后没有破坏您的本地仓库与冲突)是强行推送:
git push --force
考虑到你是唯一一个使用(推送)远程回购的人,这是安全的。
此外,请确保将git config --global core.autocrlf
设置为false,以便不对所有文件进行自动eol转换和修改。