1

所以问题如下:

  1. 我从远程分支拉了一些合并冲突

  2. 我曾经git reset --hard <commit hash>恢复先前拉动所做的所有更改

问题是在拉取期间发生冲突的文件现在不包括在我执行git exportarchive.

这些文件在我的本地存储库中;例如,如果我在GitHub 上浏览它们,我可以看到它们,但如果我执行 Git 导出,或者即使我从 GitHub 将存储库作为 ZIP 文件下载,在拉取期间发生冲突的文件也不包括在内。我可以获得所有文件的唯一方法是进行 Git 签出。

我尝试了提交、推送、拉取,它说Up to Date文件在那里并且没有更改,但由于某种原因,它们不包含在 Git 导出或存档中。

同样,只有在从不同远程存储库拉取期间发生冲突的文件才会出现此问题。我该如何解决这个问题,因为我没有想法?

4

1 回答 1

1

当你git reset --hard摆脱冲突时,你就摆脱了整个合并,包括你拉下来的东西。您有 3 个选择:

  1. 拒绝服务器上的内容并重置您的分支(这是您已经做过的)
  2. 拒绝您拥有的内容,只需将分支更新为服务器拥有的内容git reset --hard origin/master(假设您正在处理主分支)。
  3. 通过编辑冲突的文件来解决冲突。然后git add -Agit merge --continue

现在 master 将包含您需要的内容。要导出,您可以git archive通过 tar 使用和管道输出。或者您可以git push master让服务器反映您所做的事情。--force如果您选择拒绝服务器包含的内容,请添加该选项。

于 2012-08-19T18:05:56.440 回答