繁体   English   中英

礼仪:如何在不污染上游存储库的情况下版本控制编辑器配置

[英]Etiquette: How to version control editor configuration without polluting upstream repository

在为 GitHub 项目做贡献时,我不想发布我的个人编辑器 (VSCode) 设置,但我仍然想以某种方式跟踪它们。

示例:Visual Studio Code 将其配置放在.vscode目录中。 如果我忽略它(即在我的全局.gitignore ),我将无法保存这些设置以供以后使用。 如果保留它,它会出现在我创建的任何 PR 中。

我的叉子上的一个单独的分支看起来很尴尬。 Stashes 不会推送到 GitHub。

有些设置是项目和开发人员独有的(在此处插入维恩图)。 我怎样才能追踪他们? 我已经搜索过 SO 和其他地方,但找不到现有的答案。

正如您正确提到的,一旦您提交文件,它将开始被跟踪
为了忽略.vscode文件夹使用assume-unchanged


您仍然可以忽略带有assume-unchanged标志的添加文件

--[no-]assume-unchanged

指定此标志时,不会更新为路径记录的对象名称。
相反,此选项设置/取消设置路径的“假设不变”位。

assume unchanged位打开时,用户承诺不更改文件并允许 Git 假设工作树文件与索引中记录的内容相匹配。

如果要更改工作树文件,则需要取消设置该位以告诉 Git。

如果 Git 需要修改索引中的此文件,例如在合并提交时,Git 将失败(优雅地); 因此,如果假定未跟踪的文件在上游发生更改,您将需要手动处理这种情况。


解释如何从命令行执行

# Remove the file from the repository if you have committed it already
# and you don't want to keep it
git rm --cached .vscode/

# now update your gitignore file to ignore this folder
echo '.vscode' >> .gitignore

# add the .gitignore file
git add .vscode

# ... git commit and push

从这一点开始,git跟踪对此文件夹的更改,因此现在您必须“打开”假设不变,因此 git 将不会检测到您的本地更改。

  • 您可以随时关闭它并在需要时添加更改

    在此处输入图片说明

暂无
暂无

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

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