我正在尝试推动新的更改,但我有一个冲突的文件.尝试推送后,我收到以下错误:
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)
好的,所以我们需要使用git pull.我尝试使用git pull
然后我收到此错误:
error: Your local changes to the following files would be overwritten by merge:
db/profile_edit.php
Please, commit your changes or stash them before you can merge.
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试提交时,我会回到第一个错误.我该怎么办?远程仓库的更改比我本地计算机上的更新.那么,我如何使用diff工具打开它并进行更改然后告诉git我已经进行了更改以便让我推动更改?
Gab*_*ira 23
试着做
$ git pull --rebase
Run Code Online (Sandbox Code Playgroud)
在您的之前提取远程更改,然后提交.看看它是否有效.
如果这不起作用,请尝试以下方法:
$ git stash
$ git pull --rebase
$ git stash pop
Run Code Online (Sandbox Code Playgroud)
要在更改中保存更改,请在stash
工作存储库中应用远程提交,然后再次将更改(保存到stash
)应用于工作存储库中.
首先,我想如果你git add
那时候git commit
,你的本地回购将足够干净,可以做到git pull
.
但是,如果可能有更改,您不想提交,直到您看到上游发生的情况,您可以使用git stash
.它会暂时清理你的工作目录并保存你的更改,所以你可以拉(我建议git pull --rebase
避免合并点 - 但这是个人品味问题).一旦您完成了上游更改,您就可以使用恢复本地修改git stash pop
.在清理冲突并消除不必要的更改后,您可以添加,提交,然后最终推送.
你让自己对这些命令感到困惑.
git commit
将更改保存到git的数据库中
git pull
会将远程提交带入您的仓库
你试图拉开与未提交的修改,所以Git是要求你提交的第一个(或git stash
他们离开),以便它可以合并你与远程那些局部变化.
归档时间: |
|
查看次数: |
20561 次 |
最近记录: |