Git 拉取合并提取



我正在尝试解决 Git 的问题。我正在使用TortoiseGit。

基本上我检查了主分支,没有进行任何更改,现在我想更新我的本地存储库。

据我了解,有几个命令:

提取:从远程分支下载信息

合并

:将所述信息合并到本地分支

拉动:结合上述操作

但是,我看到一些我不明白的事情:

  • 当我检查修改时,它显示我已经修改了很多文件(我没有(。我不知何故认为这些变化与远程分支的变化有关
  • 当我进行提取时,它会正确获取远程信息,如果我随后进行合并,它会说"已经是最新的",但是,如果我进行拉取(据说将两者结合起来(,我会收到一个错误,说我的本地修改将被合并覆盖。这让我感到惊讶,因为我没有进行任何本地修改。这可能与上一点有关,但我看不出如何。

我是否误解了 Git 的基础知识,或者任何人都可以向我解释这种行为?

可能有很多事情可以被认为是一种变化。首先,实际上相当于git pull

git fetch
git merge FETCH_HEAD

现在,在执行此操作后,您可能希望执行git diff FETCH_HEAD以查看 Git 认为的差异。您可能希望将FETCH_HEAD替换为更用户友好的内容,例如 origin/master

它可以是行尾,也可以只是文件的修改时间,无论哪种方式,如果你想摆脱你的"修改",你可以做git reset --hard将所有工作树文件重置为它们在 HEAD 中的样子,大概你现在可以拉取。

或者,您可以直接重置为最新的git reset --hard FETCH_HEAD(或例如源/主

(。

最新更新