git - 做了 git reset --hard,但在 git pull 时仍然有冲突

标签 git github

我做了一个 git reset --hard

  • 然后我尝试了 git pull ,但出现了 merge 冲突

  • 我也试过git pull --rebase,还是 merge 冲突

我不明白,在 git reset --hard 上应该没有本地更改(也通过 git status 验证)

那为什么会产生冲突呢?

据我了解,当同一行发生更改时,就会发生冲突。但是,这种情况应该不会发生,因为我已经执行了 git reset --hard

enter image description here

最佳答案

git reset --hard 将您工作区中的内容同步到本地存储库中的内容(到您碰巧指向的任何提交 ID)。 git pull 将提交从远程 pull 到您的本地存储库,然后尝试将您的工作区 merge 到最新的提交——它会在其中检测到冲突。

可能发生的情况是,您向本地存储库提交了一个提交,它与被 pull 下的内容发生冲突。如果你没有提交任何东西,也有可能是有人在远程存储库上做了 rebase,或者你的远程分支发生了变化,你的东西和被 pull 下的东西有冲突。检查本地分支中的日志与远程分支中的日志,它应该对此有所启发。

关于git - 做了 git reset --hard,但在 git pull 时仍然有冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61640136/

相关文章:

git - IntelliJ 和 Android Studio - 连接到 Gitlab.com 存储库

git - 将所有分支(包括 child 和孙子)从他们的祖先那里 rebase

git - 在 pull 请求 merge 后,X 仍然在上游之前提交

Git fork /merge 冲突?

git - 如何将本地分支恢复到 github 中的状态?

git - 如何使用带参数的嵌套命令创建 Git 别名?

git - 有没有办法查看 .git 文件夹,并在它发生变化时更新我的​​ git 日志?

Git:由于看似随机的 merge ,更改不断丢失

git - 在github上追溯一个项目

git - 您如何将特定分支镜像到另一个存储库中的分支?