我有一个带有两个分支的git存储库。一个是我的代码所在的master
分支,而另一个分支是gh-pages
(有关github pages的文档)。
现在,在master
分支处,我运行程序后会创建一些文件,我希望它们在本地可见(但未跟踪,例如日志文件)。但是,我不希望这些文件在我的其他分支上可见。所以我这样做:
$ 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
有没有办法在一个git分支上有本地文件,而在另一个git分支上没有?
答案 0 :(得分:4)
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
)