我必须修改application.xml以在本地部署应用程序,并且不应将此更改推送到存储库。问题是,此更改始终存在于未提交的更改中,并且在提交更改时无法使用use git add .
。
一种解决方案是将此文件添加到 .gitignore ,但这只会将同样的问题复制到目标 .gitignore 文件,因为 application.xml < / em>不应该被全局忽略。
我还尝试将其添加到 exclude 文件中,但它似乎没有用,可能是因为已经跟踪了文件。
git是否提供了一些方便的工具来处理这样的情况。它也应该能够切换保留那些本地未跟踪更改的分支,并且如果有其他人更改了它,仍然会提取此文件的最新版本。
答案 0 :(得分:0)
您可能正在寻找跳过工作树。
git update-index --skip-worktree <file>
当此标志应用于文件时,将忽略其更改。但是,它无法无缝地工作:当通过git操作计划对此文件的更改时,会出现冲突/错误。
有关详细信息,请参阅:
答案 1 :(得分:-1)
在项目的根目录下写.gitignore文件。 并将此文件路径添加到.gitignore文件中。 您应该首先从repo中删除Application.xml文件。
答案 2 :(得分:-2)
将此文件添加到.gitignore文件中。 干净缓存使用此代码:
git rm --cached <file>
如果您不想跟踪.gitignore文件,只需运行:
git rm --cached .gitignore