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



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

是否有一个git命令从git中删除文件,同时将它们保存在本地,当它们在所有其他开发机器上git pull时,将它们保存在本地?

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

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

我的机器:

  1. 获取与新.gitignore匹配但与旧.gitignore不匹配的所有文件的完整路径
  2. 将所有这些文件添加到树外的tar文件
  3. git rm所有文件
  4. commitpush origin master的变化
  5. 将tar文件发送给所有其他开发人员

所有其他开发人员的机器:

  1. git pull将更新.gitignore删除的本地文件副本,这些文件现在应该被忽略。
  2. 在本地repo顶部解压缩tar文件以恢复被删除的文件

这个过程有很大的手动错误范围-有更好的方法吗?

我看过:

从Git中删除文件,不需要在本地和远程删除

从版本管理中删除文件但将其保存在本地?和

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

在本地可以这样做:

git rm --cached FILE_NAME

Arlo Carreon解释了如何为多个开发人员做到这一点:http://www.arlocarreon.com/blog/git/untrack-files-in-git-repos-without-deleting-them/

最新更新