Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.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 checkout master会自动移动其他未提交的分支更改_Git - Fatal编程技术网

git checkout master会自动移动其他未提交的分支更改

git checkout master会自动移动其他未提交的分支更改,git,Git,让我们假设我在master branch,然后我会: git branch new_branch git checkout new_branch touch newFile.txt 当我使用git checkout master返回我的主分支时,我希望我有一个干净的工作区,并且没有newFile.txt的痕迹。但是git会自动在我的主分支中移动newFile.txt 这是默认的git行为吗?我怎样才能改变它 谢谢。未提交的更改不是任何分支的一部分,它们存在于工作副本中。要删除未跟踪的文件,请使

让我们假设我在master branch,然后我会:

git branch new_branch
git checkout new_branch
touch newFile.txt
当我使用git checkout master返回我的主分支时,我希望我有一个干净的工作区,并且没有newFile.txt的痕迹。但是git会自动在我的主分支中移动newFile.txt

这是默认的git行为吗?我怎样才能改变它


谢谢。

未提交的更改不是任何分支的一部分,它们存在于工作副本中。要删除未跟踪的文件,请使用
git clean
命令。这是Git的默认行为,无法更改


另外,请参见。分支是新的还是现有的并不重要。

是的,但您希望这些更改去哪里?您希望git以静默方式删除所有更改的文件吗?不,我想我在new_branch中所做的应该保留在new_branch中。如果我开始在一个分支上做一些事情,然后我遇到紧急情况,我必须切换到另一个分支,我不想在另一个分支上完成工作。@rico:你在new_branch没有做任何事情,你在你的工作树上做了一些事情。并且工作树未链接到任何分支。在提交更改之前,您的更改不会出现在任何分支上;对于此工作流,您需要隐藏或提交更改。