2015-09-07 190 views
2

我有一個有兩個分支的git倉庫。一個是我的代碼爲master的分支,另一個爲gh-pages(有關github pages的文檔)。
現在,在master分支,我運行我的程序後創建了一些文件,我希望它們在本地可見(但未跟蹤,例如日誌文件)。但是,我不希望這些文件在我的其他分支上可見。所以,我做的:刪除git目錄中的一個分支上的本地文件,但保留在另一個分支本地

$ python program.py # On master: create test1 and test2 
$ ls test? # shows test1 and test2 are here 
$ git checkout gh-pages 
$ ls test? # shows test1 and test2 are here, but I don't want them on this branch 
$ rm test? 
$ git checkout master 
$ ls test? # test1 and test2 are gone, but they should still be here 

有沒有辦法有一個混帳分支的本地文件,但沒有其他?

回答

3

git stash可以幫助您保存未跟蹤的文件並在分支之間切換。
git stash man page

例如:你是master並希望切換到gh-pages
$ git stash save --all <stash name>(1)
$ git checkout gh-pages(2)
gh-pages工作...
$ git checkout master(3)
$ git stash pop <stash name>(4)

(1)保存文件未追蹤和忽略文件,使工作目錄乾淨。
(2)切換到gh-pages
(3)再回到master
(4)檢索先前保存未跟蹤文件。

編輯命令以符合您的要求。
要僅藏匿未跟蹤文件:--include-untracked
藏匿忽略未跟蹤文件:--all(無需重複--include-untracked

+0

,似乎工作。在我感到舒適之前,我需要更多的時間,但是我認爲大部分事情都是這樣。非常感謝:) –

+0

'git stash'是一個非常強大的工具,閱讀它值得它的手冊頁。 –

+0

我想我使用了一個稍微錯誤的術語。當我說他們沒有跟蹤時,我實際上意味着忽略(所以在'.gitignore'文件中)。但是,將'--all'標誌添加到您編寫的第一個命令中,完全符合我的要求。謝謝你指點我。 –

相關問題