Aks*_*tav 2 windows git bash ionic-framework
我正在Windows 10上使用git bash,最近将其更新为创建者更新。
每当我尝试在分支之间切换时,我都会得到以下提示
$ git fetch && git checkout master
warning: unable to rmdir Ionic_Developemnt: Directory not empty
Checking out files: 100% (6312/6312), done.
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会这样,在Ionic_Development文件夹中还有一个.git隐藏文件夹
任何人都可以提供帮助,为什么会出现错误_ / _
找到答案,而不是git checkout使用git checkout --recurse-submodules。
用于git config submodule.recurse true告诉 git 始终使用 --recurse-submodules (仅在 git 版本 2.14+ 中),--local如果您希望仅在本地项目级别使用,请添加。
原因:
此问题发生在(Git < 2.13)上,当时git checkout无法正确处理这些子模块。
参考: https://github.com/gitextensions/gitextensions/issues/2966#issuecomment-622666568
原答案
实际上我认为这个答案部分正确:O
如果某个文件夹由该文件夹中的本地 .git 跟踪,则当您切换分支时,它将根据 .git 进行更改(例如,如果其他分支没有此文件夹,则从我们的角度来看,将其删除)。
如果 .gitignore 忽略某个文件夹,则当您切换分支时,该文件夹将保持不变。
但是,如果该文件夹是子模块,由子模块 .git 跟踪,则本地 .git 在切换分支时会尝试使用 rmdir,这会导致问题。
warning: unable to rmdiron git checkout表示您正在切换到该目录不存在的分支;git尝试删除它,但是有些临时文件无法删除。该目录不为空,因此git也无法将其删除,因此出现警告。
| 归档时间: |
|
| 查看次数: |
2214 次 |
| 最近记录: |