【问题标题】:Amending .gitignore, removing files from git while keeping them locally修改 .gitignore,从 git 中删除文件,同时将它们保存在本地
【发布时间】:2015-10-15 08:00:08
【问题描述】:

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

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

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

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

我的机器:

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

所有其他开发者的机器:

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

此过程存在很大的手动错误范围 - 有没有更好的方法?

我看过:

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

【问题讨论】:

  • 我相信你只能告诉开发者复制文件然后拉取。有类似的问题。

标签: git gitignore


【解决方案1】:

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

git rm --cached FILE_NAME

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

【讨论】:

    猜你喜欢
    • 2012-08-07
    • 1970-01-01
    • 2011-01-02
    • 2023-02-17
    • 2021-07-19
    • 2018-11-19
    • 1970-01-01
    • 2016-04-09
    相关资源
    最近更新 更多