我正在学习 git,并且对在主题分支中创建的暂存文件在签出到 master 时不会被删除这一事实感到惊讶。
例如:
git checkout -b topic
nano newfile.txt
git add newfile.txt
git checkout master // newfile.txt is still in the working directory, even though it was created in topic branch
Run Code Online (Sandbox Code Playgroud)
我很了解git clean命令,只是我希望如果您签出到不同的分支,所有从未提交的文件都会被删除。
我在这里遗漏了一些东西还是这是 git 的预期行为?
这是预期的行为。如果我必须描述它(欢迎任何人对我的解释提出异议),我会说因为您newfile.txt尚未签入并且分支中没有任何内容master与之关联newfile.txt,git所以不应该删除它不负责的文件然而。在正常情况下,我们不希望git悄悄地修改尚未添加到存储库中的文件。另一方面,如果文件已添加到存储库中,则git删除更改是公平的游戏。
也就是说,正如您已经建议的那样,可以通过命令删除目录中的这些类型的文件git clean。
| 归档时间: |
|
| 查看次数: |
656 次 |
| 最近记录: |