我在处理存储库的分叉时遇到了这个问题。当我更改一个新分支上的某个文件,然后切换到另一个分支时,git不会引发错误:You have local changes to "X"; cannot switch branches.
错误。相反,它只会移动到新的分支,并反映该分支中的变化。如果这是初学者的错误,请告诉我。
复制的步骤-
new-branch-name
这导致了我的主人和我所做的改变一样的分支,它继续留在后面。然而,向新创建的分支提交一次,就解决了这个问题。
发布于 2020-06-13 13:18:59
您之所以看到这一点,是因为您没有提交更改。您已经编辑了工作副本,可能还运行了git add
,但还没有运行git commit
。
Git将允许您签出另一个分支,其中包含工作副本中的更改,只要它能够保留这些更改。例如,如果您已经更改了一个文件,并且该文件在两个分支中都是相同的,则Git不需要在签出期间更改该文件,因此它将在您的工作树中保留该版本。如果您意识到您不小心出现在错误的分支上,或者需要创建一个新的主题分支,这将使您更加容易。
如果要将更改保留在分支上,则需要提交它们;否则,Git将不会将它们作为分支的一部分进行跟踪。简单地对带有给定分支签出的工作副本进行更改并不能以任何方式保留它们。
如果您的工作树是干净的(也就是说,它没有未提交的更改),git checkout
将完全将工作树的状态更改为另一个分支。
https://stackoverflow.com/questions/62365482
复制相似问题