我有一个本地文件,需要更改一些使用的值:
git update-index --skip-worktree myfile.ts
这可行,但是现在当我尝试更改分支时,我得到一个错误:
error: Your local changes to the following files would be overwritten by checkout:
myfile.ts
Please commit your changes or stash them before you switch branches.
但是我无法隐藏它,因为它被忽略了吗?
设置--no-skip-worktree
然后隐藏它并更改分支是唯一的解决方案吗?那是非常不方便的工作流程。
我做错什么了吗?
答案 0 :(得分:0)
--skip-worktree
选项用于稀疏签出;它并非旨在让您在Git不了解的情况下修改文件。在Git不了解的情况下,无法修改被跟踪的文件。
如果需要这样做,则需要能够存储您的更改并还原它们。但是,正如您暗示的那样,这是次优的工作流程。
通常,如果您试图修改配置文件或已签入的文件,最好的方法是为您签入的文件创建模板,然后使用该模板生成配置文件。这样,您可以通过修改模板配置来指定不同环境中的自定义配置设置。
答案 1 :(得分:0)
如果您希望git不在乎您更改我的文件,我认为您需要使用git update-index --assume-unchanged