簡體   English   中英

git說切換分支時“以下未跟蹤的工作樹文件將被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 poomalaidevelop分支。

我從另一個簽出副本(用戶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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM