我正在做一个小仓库。我有分支主管,M1,M2,M3,M4和M5。我最近在m4上工作,创建了一个目录并提交了我的更改。现在我签出了m5,但是我刚才在m4上创建的目录仍然存在。试图了解为什么会这样,以及如果/应该怎么做。
例如
PS C:\Repos\mystuff> git co m5
Switched to branch 'm5'
PS C:\Repos\mystuff> git ls-tree -r --name-only m5
.gitattributes
.gitignore
LICENSE
README.md
PS C:\Repos\mystuff> git st
On branch m5
nothing to commit, working tree clean
PS C:\Repos\mystuff> ls
Directory: C:\Repos\mystuff>
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2019-09-14 11:02 AM 04 <== old folder from m4
-a---- 2019-07-23 7:25 PM 66 .gitattributes
-a---- 2019-09-03 7:58 PM 5980 .gitignore
-a---- 2019-07-23 7:25 PM 1065 LICENSE
-a---- 2019-07-23 7:25 PM 32 README.md
为什么旧文件夹仍显示在ls中,即使它不在分支的文件中并且没有显示为未跟踪?
我可以/应该(安全)删除它而不弄乱m4吗?
答案 0 :(得分:0)
Git不跟踪文件夹,仅跟踪文件。
检出m5
会删除m4
中不在m5
中的文件,但是除非该文件夹随后为空,否则它不会删除该文件夹。
例如,如果它包含任何未跟踪的文件,则Git不会删除这些文件或文件夹。