我知道这似乎是GIT:如何在切换分支时保留被忽略的文件?的重复,但我在那里找不到答案。 因此,我使用
--orphan
标志创建了一个新分支,以删除提交历史记录。 然后,我对所有文件执行git rm --cached
,修改了.gitignore
以忽略其中一些文件,然后添加并提交。 如预期的那样,被忽略的文件不在新存储库中(也不在任何历史记录中)。 但是,当我切换分支时它们就消失了(即,当我检出旧分支,然后再次检出新分支时)。 我该怎么避免这种情况发生? 编辑:整个操作的目的是为了准备将项目发布到GitHub上,因此我想隐藏某些包含私人信息(例如密码、密钥等)的配置文件。 这就是为什么我通过创建一个新的孤立分支来删除提交历史记录。 我明白,可能在将它们添加到.gitignore
之前提交文件可以解决消失的问题,但这将使文件最终在公共历史中可见。 我尝试执行git add -f
,然后执行git rm --cached
,但这并没有起作用。