修改.gitignore,从git中删除文件,同时将它们保存在本地

时间:2015-10-15 08:00:09

标签: git gitignore

所有的开发人员都有从项目开始就应该在.gitignore中的文件,但不是。

是否有git命令从git中删除文件,同时将它们保存在本地将它们保存在所有其他开发人员计算机上git pull

理想情况下,这应该考虑.gitignore的差异,以决定需要删除哪些内容但保留在本地。

目前,我正在考虑以下手动程序:

我的机器:

  1. 获取与新.gitignore匹配但与旧版.gitignore不匹配的所有文件的完整路径
  2. 将所有这些文件添加到树外的tar文件
  3. git rm所有这些文件
  4. commitpush origin master更改
  5. 将tar文件通过电子邮件发送给所有其他开发人员
  6. 每个其他开发者的机器:

    1. git pull将更新.gitignore删除现在应忽略的文件的本地副本。
    2. 解压缩本地存储库顶部的tar文件以恢复已删除的文件
    3. 此程序有很大的手动错误范围 - 有更好的方法吗?

      我看过:

      Remove file from Git without deleting them locally and remotely

      Removing a file from versioning but keeping it locally?

      http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式在本地执行此操作:

git rm --cached FILE_NAME

Arlo Carreon解释了如何为多个开发人员执行此操作:http://www.arlocarreon.com/blog/git/untrack-files-in-git-repos-without-deleting-them/