我有一个包含两个分支的 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 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
)
关于git - 删除 git 目录中一个分支上的本地文件,但将其保留在本地另一分支上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32438802/