![](/img/trans.png)
[英]Unable to switch branches in git, shows error: The following untracked working tree files would be overwritten by checkout
[英]git says “The following untracked working tree files would be overwritten by checkout” when switching branches
我有一個名為develop
in remote bare repo hub
的分支,我在我的本地git倉庫(用戶poomalai
)中有一個develop
poomalai
的develop
分支。
我從另一個簽出副本(用戶raj
)中刪除了( git rm --cached
)文件( Mydirectory/myfile.php
),並將其推送到了中心存儲庫。
現在,當我將更改從集線器拉到(用戶poomalai
)時,它工作正常,我在git日志中file deletion
了提交消息file deletion
。
我已將文件添加到(用戶poomalai
)的.gitignore
文件中。
現在我已經在我的本地poomalai
(用戶poomalai
)中創建了該文件。
現在該文件不再位於版本控制中,並且git不會跟蹤對該文件的更改。
但是,當我嘗試切換到其他分支時,它會說:
錯誤:checkout將覆蓋以下未跟蹤的工作樹文件:
Mydirectory/myfile.php
請在移動分支之前移動或移除它們。
中止
當我使用linux rm
命令刪除文件時,我可以切換分支。
如果我再次創建該文件,它會再次拋出相同的錯誤。
我需要文件在目錄中,但不應該由git跟蹤。
我嘗試了以下命令:
git rm
致命:pathspec'anilbor_webservice / dbconnect.php'與任何文件都不匹配
git gc
git reset --hard HEAD
git pull
什么都行不通。 請有人幫助我
這可能是因為該文件被添加到'目標分支'中的倉庫中。
確保文件是從'目標分支' git rm
,然后嘗試切換分支。
正如@CharlesB所說,git確保數據完整性,以便在切換目錄時不會丟失任何內容。
git警告你這是一件好事,因為切換到沒有刪除文件的分支將...刪除它。
所以你做得對:在檢查刪除它的分支之前刪除(或重命名)它。
所以git只是在覆蓋它之前關心你的數據。
由於它是無版本的,你將無法在結賬后恢復它。
唯一對我有用的東西:
在android studio中 - 轉到事件日志 - 單擊“查看它們”超鏈接。 - 然后手動點擊減號欄以刪除彈出窗口中的文件。
(因為它只有4-5個文件我首先重命名了文件)我不得不做兩次,因為有些項目在第一次嘗試時沒有刪除...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.