2009-11-07 130 views
4

鑑於我有一個主分支和其他分支。在另一個分支中是我不想提交的文件(例如日誌文件),所以我在.gitignore中忽略了它們。如何使用git切換分支並刪除被忽略的文件?

當我切換到主分支時,這些被忽略的文件保留,但它們只屬於另一個分支。

有沒有辦法將一些被忽略的文件附加到特定的分支(不提交它們)?

回答

3

這是不可能的。如果你告訴git忽略這些文件,git會忽略它們,即。無論您正在執行的是何種git操作,它都不會觸及它們。

您可以爲日誌文件使用分支機構特定的命名方案,也可以將它們保存在每個分支的不同目錄中。

或者,您可以編寫一個鉤子腳本(post-checkout),該鉤子腳本管理單獨的git存儲庫中的文件。

3

Git故意讓人很難意外丟失數據。例如,如果有源文件,您忘記了git add?有一個git clean命令可幫助您清理工作副本。通過-x標誌會導致它也刪除通常被.gitignore忽略的文件。例如,

git clean -f -x 

如果你想要更多的控制,你可以通過--dry-run標誌來獲取文件的列表,然後你可以寫一些shell腳本來尋找某些類型的文件(例如,* .LOG)。

然後,您可以將此腳本安裝爲後結帳腳本(有關示例,請參見git-hooks)。

相關問題