Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么git不';拉取时不能与修改过的文件合并_Git - Fatal编程技术网

为什么git不';拉取时不能与修改过的文件合并

为什么git不';拉取时不能与修改过的文件合并,git,Git,假设我编辑了文件“test.html”。它不在集结区。我想拉,但在头部这个文件也被修改了。Git不让我拉,因为它会“覆盖现有的更改”。所以我必须把我的修改放在一边,然后把我的东西拿回来。 我的问题是,为什么git merge test.html不修改(假设我们没有修改同一行,并且没有冲突) 我不想覆盖我当前的test.html,但将它与HEAD合并而不提交它当你git pull时,会发生一个或多个新的提交进入你的本地分支,将该分支的头向前移动。从概念上讲,您当前的工作目录,即Git,可以被认为是

假设我编辑了文件“test.html”。它不在集结区。我想拉,但在头部这个文件也被修改了。Git不让我拉,因为它会“覆盖现有的更改”。所以我必须把我的修改放在一边,然后把我的东西拿回来。 我的问题是,为什么git merge test.html不修改(假设我们没有修改同一行,并且没有冲突)


我不想覆盖我当前的test.html,但将它与HEAD合并而不提交它

当你
git pull
时,会发生一个或多个新的提交进入你的本地分支,将该分支的头向前移动。从概念上讲,您当前的工作目录,即Git,可以被认为是在拉操作发生之前,对上一个HEAD所做的一系列更改。如果pull带来的更改会使
test.html
的差异大为不同,以至于Git无法很容易地用新的头来表示它,那么您可能会看到错误

据我所知,如果您修改的
test.html
区域没有被拉入的更改所改变,那么您可能也没有得到这个错误


当你的工作直接或舞台脏的时候,一般来说,不做
Git拉
是很好的Git礼仪。更确切地说,计划在它们都是干净的、您已经提交的情况下推送或拉送。

当您
git pull
时发生的情况是,一个或多个新提交正在进入您的本地分支,将该分支的头向前移动。从概念上讲,您当前的工作目录,即Git,可以被认为是在拉操作发生之前,对上一个HEAD所做的一系列更改。如果pull带来的更改会使
test.html
的差异大为不同,以至于Git无法很容易地用新的头来表示它,那么您可能会看到错误

据我所知,如果您修改的
test.html
区域没有被拉入的更改所改变,那么您可能也没有得到这个错误



当你的工作直接或舞台脏的时候,一般来说,不做
Git拉
是很好的Git礼仪。更确切地说,当它们都是干净的,你已经提交了,等等时,计划推送或拉送。

不是真的,我不想覆盖我的文件,我想合并它(就像我已经提交了一样,但我不会撒谎提交它,可能是因为我还没有完成我的功能)如果你的工作目录或阶段是脏的,你一般不应该拉。将提交视为本地设置和远程设置之间的货币。您通常应该处理提交,如果您处于提交之间,则尽量不要涉及远程提交。搜索、配置和试验“autostash”可能适合您所需的工作流。非常感谢!我会看看AutoStatshNot真的,我不想覆盖我的文件,我想合并它(就像我已经提交了它,但我不会撒谎提交它,可能是因为我没有完成我的功能)如果你的工作目录或阶段是脏的,你通常不应该拉。将提交视为本地设置和远程设置之间的货币。您通常应该处理提交,如果您处于提交之间,则尽量不要涉及远程提交。搜索、配置和试验“autostash”可能适合您所需的工作流。非常感谢!我会看看AutostashHanks,看看你的答案,我想我明白了逻辑。但是在我的例子中,无论我在哪里修改test.html(例如,我在文件的末尾做了一个注释,在远程文件的开头有另一个注释),我仍然有“将被合并覆盖”的错误,这取决于Git的自动合并算法是否能够处理它。但在任何情况下,你都不能真正依赖它,因为正如你所看到的,它可能有效,也可能无效。相反,只需先提交您的本地工作,做一个
git隐藏
,或者如果您不需要它/对它不满意,就把它扔掉。这是我不理解的,我在提交test.html后合并,git可以毫无问题地合并它,但是,如果我的文件没有像所有文件都处于冲突状态那样提交,它就无法合并。Git可以毫无问题地合并。一点也不正确。即使您的工作目录和阶段是干净的,在执行
git合并时也可能会发生合并冲突。您的拉取失败意味着,
test.html
会因拉取而发生冲突。事实并非如此:我的文件已被编辑,我尝试拉取,并得到“本地内容将被合并覆盖”。然后我提交我的文件,不修改它,我启动fit pull并合并文件。我错过什么了吗?谢谢你的回答,我想我明白了。但是在我的例子中,无论我在哪里修改test.html(例如,我在文件的末尾做了一个注释,在远程文件的开头有另一个注释),我仍然有“将被合并覆盖”的错误,这取决于Git的自动合并算法是否能够处理它。但在任何情况下,你都不能真正依赖它,因为正如你所看到的,它可能有效,也可能无效。相反,只需先提交您的本地工作,做一个
git隐藏
,或者如果您不需要它/对它不满意,就把它扔掉。这是我不理解的,我在提交test.html后合并,git可以毫无问题地合并它,但是,如果我的文件没有像所有文件都处于冲突状态那样提交,它就无法合并。Git可以毫无问题地合并。一点也不正确。即使您的工作目录和阶段是干净的,在执行
git合并时也可能会发生合并冲突。您的拉取失败意味着
test.html
将被破坏