假设我编辑了文件“ test.html”。它不在暂存区中。我想拉,但是在HEAD中也修改了该文件。 Git不会让我退出,因为它会“覆盖现有更改”。我必须隐藏起来,以将我的修改放在一边,拉回我的隐藏物。 我的问题是,为什么不git merge test.html(假设我们没有修改同一行并且没有冲突)?
我不想覆盖当前的test.html,但将其与HEAD合并而不提交它
答案 0 :(得分:3)
git pull
发生的情况是,一个或多个新提交正在进入本地分支,从而使该分支的HEAD向前移动。从概念上讲,您当前的工作目录(到Git)可以看作是在发生拉动之前对前一个HEAD的一系列更改。如果拉动所带来的变化会使test.html
的差异大不相同,以至于Git无法轻易地弄清楚如何用 new HEAD来表达它,那么您将倾向于得到您看到的错误。
据我所知,例如,如果您修改的test.html
的区域并未因即将到来的更改而被完全更改,则您可能还没有出现该错误。从拉入。
当您的直接工作或舞台肮脏时,不做git pull
通常是很好的Git礼节。而是计划在它们都干净,已完成提交等情况下推动或拉动。