git - --skip-worktree 不会让我更改分支
问题描述
我有一个本地文件,我需要更改一些我使用的值:
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
设置然后存储它并更改分支的唯一解决方案是什么?这是非常不方便的工作流程。
难道我做错了什么?
解决方案
该--skip-worktree
选项专为稀疏结帐而设计;它并非旨在让您在 Git 不知道的情况下修改文件。在 Git 不知情的情况下,无法修改被跟踪的文件。
如果您需要这样做,您将需要能够存储您的更改并恢复它们。但是,正如您所暗示的那样,这是一个次优的工作流程。
通常,如果您尝试修改已签入的配置文件或类似文件,最好的方法是为您签入的该文件创建一个模板,然后使用该模板生成配置文件。这使您可以通过修改模板配置来指定不同环境中的自定义配置设置。
推荐阅读
- ios - 与名为 com.apple.commcenter.coretelephony.xpc 的服务的连接已失效
- amazon-web-services - AWS Lambda 错误没有名为“StringIO”的模块或没有名为“StringIO”的模块
- ios - 使用内置 iOS 日历以编程方式快速创建日历/访问
- javascript - 如何在PHP中将数据库表数据下载到Excel工作表时显示进度条?
- python - 当出现错误时,它会在 Python 上重试相同的用户名
- c# - 启动画面(MetroFramework)不显示 C#?
- c# - 我如何在 webBrowser 中使用 c# 执行点击事件
- python - Python中处理负整数的问题
- python - 使用 ctypes 在 python 中分配的 C 中写入缓冲区,并在 python 中再次读回
- php - 如何防止以操作形式调用的 PHP 文件显示为页面?