【发布时间】:2016-05-13 10:28:25
【问题描述】:
我知道它似乎与 GIT: How to keep ignored files when switching branches? 重复,但我无法在那里找到答案。
所以我创建了一个带有--orphan 标志的新分支,以删除提交历史记录。然后我对所有文件执行了git rm --cached,修改了.gitignore 以忽略其中的一些,然后添加并提交。正如预期的那样,被忽略的文件不在新的 repo 中(也不在它的任何历史记录中)。但是,当我切换分支时它们会消失(即,当我检出旧分支,然后再次检出新分支时)。我怎样才能避免这种情况?
编辑:整个操作的目的是准备一个要在 GitHub 上发布的项目,所以我想隐藏一些包含密码、密钥等私人信息的配置文件。这就是为什么我通过创建删除提交历史记录一个新的孤儿分支。我知道在将文件添加到.gitignore 之前提交文件可能会解决消失的问题,但这会使文件最终在公共历史中可见。我试着做git add -f,然后git rm --cached,但它没有成功。
【问题讨论】:
-
这些被忽略的文件的性质是什么?它们是本地配置文件还是其他东西?这些文件是否在其他分支中进行了版本控制?
-
@TimBiegeleisen 我在问题中添加了更多细节。是的,这些文件是在其他分支中进行版本控制的,我只是将它们放在打算公开的新分支的 gitignore 文件中。
标签: git