![](/img/trans.png)
[英]How to force GitHub Fork (origin) to take Repository (upstream) version
[英]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.