如何让 git 忽略 Atmel Studio 的 .cproj 文件的部分内容?
How can I have git ignore parts of Atmel Studio's .cproj file?
我们有几个人在 git 存储库中处理一个 Atmel Studio 7 项目。每次有人打开项目时,Atmel Studio 都会对项目文件 (*.cproj) 进行一些用户特定的更改,例如添加调试探针的序列号并更新打开时使用的确切 Atmel Studio 版本号。我想忽略这些更改,但仍将文件保留在存储库中,因为它包含所有必要的项目设置。
有没有人有解决这个问题的好方法?
您可以使用 git update-index
来完成您想要的。
在每个用户的沙盒中,运行这个命令:
git update-index --assume-unchanged <file>
这将告诉 Git 从现在开始忽略此沙箱中对 <file>
的所有更改。
如果您改变主意并想要提交对 <file>
的更改,您必须先撤消该操作,因为 git add
和其他命令不会看到任何更改标记为 assume-unchanged
的文件:
git update-index --no-assume-unchanged <file>
编辑,两年后...
更好的解决方案是使用:
git update-undex --skip-worktree <file>
它完全适用于此处的用例。
我们有几个人在 git 存储库中处理一个 Atmel Studio 7 项目。每次有人打开项目时,Atmel Studio 都会对项目文件 (*.cproj) 进行一些用户特定的更改,例如添加调试探针的序列号并更新打开时使用的确切 Atmel Studio 版本号。我想忽略这些更改,但仍将文件保留在存储库中,因为它包含所有必要的项目设置。
有没有人有解决这个问题的好方法?
您可以使用 git update-index
来完成您想要的。
在每个用户的沙盒中,运行这个命令:
git update-index --assume-unchanged <file>
这将告诉 Git 从现在开始忽略此沙箱中对 <file>
的所有更改。
如果您改变主意并想要提交对 <file>
的更改,您必须先撤消该操作,因为 git add
和其他命令不会看到任何更改标记为 assume-unchanged
的文件:
git update-index --no-assume-unchanged <file>
编辑,两年后...
更好的解决方案是使用:
git update-undex --skip-worktree <file>
它完全适用于此处的用例。