Git将文件保存在本地分支中,但从repo中删除

时间:2014-07-09 11:44:38

标签: git github

我认为会有一个明显的解决方案,但似乎无法找到它。我有一个配置文件的repo,它随机器的不同而变化 -

我做git rm --cached myconfig.conf并创建一个名为myconcif.template.conf的文件 - 这大部分都有效,但是如果我在本地切换分支然后切换回myconfig.conf最终会被删除。

我想要的是能够保持本地提交的myconfig.conf更改,但是对于存储库推送和拉取都会忽略它们。

1 个答案:

答案 0 :(得分:1)

执行git rm --cached myconfig.conf后,您需要将其添加到.ignore文件中。

将其添加到忽略文件意味着该文件不仅会被拉出和推送而被忽略,而且也会被忽略。

如果你希望本地myconfig.conf在没有版本化的情况下改变每个分支,我恐怕你不能。

编辑:有时git似乎对这个程序很顽固,所以一个肮脏的解决方法只是:

  • 将文件复制到回购的其他位置。
  • 使用git rm删除它
  • 将其添加到.gitignore
  • 提交并推送删除和更改的.gitinore
  • 在本地和回购中的所有工作分支中执行相同的操作
  • 确保所有分支与远程
  • 同步
  • 如果您确定在拉动或切换分支后文件没有回来,您可以安全地将复制的版本移动到您的repo文件夹。