-1

我非常了解 GIT 工作流程。我有一个master分支,然后我签出一个develop分支。之后,我检查了一个feature分支。在feature分支上,我编辑了一个文件。当我结帐回到develop分行时。我看到该文件已被编辑。我开始不明白,因为我认为当你对一个分支上的文件做某事时,它不会影响另一个分支上的同一个文件,直到你合并两个分支。develop当我在分支上编辑该文件时,有人可以解释为什么它会影响分支上的同一个文件feature吗?谢谢!

4

4 回答 4

3

您忘记在分支中提交更改feature

于 2015-04-28T08:18:45.717 回答
0

当您从主分支签出到另一个分支并对该分支进行更改时,您应该始终使用“git stash”将更改存储在该分支上,或者您可以提交更改并将该分支推送到远程服务器。

于 2015-04-28T11:17:20.213 回答
0

您的理解可以使用一些改进。

Checkout 会更新索引和工作树,但如果您修改了文件的索引和/或工作树内容而新的 checkout 没有,您的修改将被保留。

如果新结帐修改了该文件的内容,您甚至可以在结帐期间使用 git 将这些更改与您的更改合并--merge(如果您和新结帐都更改了文件并且您没有询问,git 将拒绝结帐合并更改)。

因此,如果您在一个文件中并注意到应该在另一个分支上完成的修复,您切换到该分支,只添加一个修复,提交,然后切换回来。您的工作树不是用于处理分支,而是用于处理内容并记录您喜欢的更改。

为了确保您没有错过任何其他基础知识(并且您在这里所问的是非常基础的东西),我想说的是您对 git 一无所知的想法回到所有文档。以全新的眼光看待它。

于 2015-04-28T12:06:36.750 回答
0

当您编辑分支上的文件时,您从该分支编辑该版本。当您想要更改到另一个分支时,您必须先提交您的更改,或者您可以使用保存该状态,如果您想在该分支上再次工作git stash,您可以恢复它。git stash pop

当您更改了文件时,可以更改分支,只要您要更改的分支上的文件没有被修改。但是你必须要有耐心,然后你就会有来自开发分支的状态。当文件发生更改时,您会收到错误消息。

于 2015-04-28T08:19:44.040 回答