![](/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.