我正在尝试将本地修改的文件还原为最新的上游版本,从而有效地撤消了我的更改。

$ git checkout --  Jovie/Jovie-Info.plist
error: path ‘Jovie/Jovie-Info.plist' is unmerged

使用-f可以更改要警告的错误,但仍不会进行更改(???)
$ git checkout  -f -- Jovie/Jovie-Info.plist
warning: path ‘Jovie/Jovie-Info.plist' is unmerged

文件本身看起来像这样:
$ git diff Jovie/Jovie-Info.plist
diff --cc Jovie/Jovie-Info.plist
index 6c576d9,0209baa..0000000
--- a/Jovie/Jovie-Info.plist
+++ b/Jovie/Jovie-Info.plist
@@@ -50,7 -50,7 +50,11 @@@
                </dict>
        </array>
        <key>CFBundleVersion</key>
++<<<<<<< Updated upstream
 +      <string>5922</string>
++=======
+       <string>5918</string>
++>>>>>>> Stashed changes
        <key>Fabric</key>
        <dict>
                <key>APIKey</key>

如何覆盖本地文件并应用上游更改?

最佳答案

在执行 check out 操作之前,您可能需要先重置文件:

git reset -- Jovie/Jovie-Info.plist
git checkout -- Jovie/Jovie-Info.plist

重置程序取消暂存进行中的更改(此处为 merge ,并带有文件中的冲突标记)。
然后, checkout 可以恢复具有最后提交内容的索引。

关于git - 如何使用上游版本覆盖未 merge 的git checkout,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27089095/

10-13 05:23