繁体   English   中英

如何使GIT在本地忽略跟踪的文件?

[英]How to make GIT ignore tracked file locally?

我的团队在仓库中工作,其中跟踪了一些文件,但可能会在本地进行更改,例如.exe文件,这是编译的结果,但只有在完成发行后才应签入。 另一个是makefile.mk,在其中我设置了一些本地选项,很少进行需要提交的更改。 通常,此文件与存储库版本ant不同,可以。 因此,将跟踪这些文件,无法将它们放入.gitignore而会使git pull origin因覆盖这些文件的更改而哭泣( 错误:对以下文件的本地更改将被merge覆盖 )。 我试图将*.exe~放入.git/info/exclude (以及.mk)并运行git update-index --no-assume-unchanged that.exe所以git status不再显示它们,但是拉取仍然失败,即使使用-f 我读过某处使用git update-index --skip-worktree我尝试了。 现在没人知道如何更新我的仓库。

  • 如何保留已跟踪的修改文件并使GIT在本地忽略它们的更改?
  • 我该如何修复我的存储库而不克隆它(例如,我会错过一些配置文件)?

如何保留已跟踪的修改文件并使GIT在本地忽略它们的更改?

Git无法同时跟踪和忽略文件。 这没有任何意义。

从Git中删除文件( git rm --cached that.exe makefile.mk ),将它们的名称添加到.gitignore并提交。

制作makefile.mk的副本(例如makefile.mk.example ),为从一个开发环境更改为另一个开发环境的值提供合理的默认值,并将其添加到存储库中。

记录此更改,以使任何开发人员在克隆存储库时都知道如何获取自己的makefile.mk

对于第一个问题,您可以使用命令。

git rm --cached <filename>

rm用于删除。

对于第二个问题,您可以在这里找到答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM