我在一個git倉庫的情況下,我想保持一個文件不變,除非開發人員明確知道他們在改變它時正在做什麼。有什麼方法可以在git中跟蹤文件的不變狀態嗎?
我們有一個Drupal網站在回購中,我們不想更改自定義robots.txt
。更新Drupal核心包括解壓tarball。這意味着我們的定製robots.txt
將替換爲Drupal robots.txt
的庫存。由於Drupal的核心更新被大量接受(他們主要是安全更新),可能有些不小心的開發人員會不小心覆蓋我們的robots.txt
。
這不是你在合併請求中可以找到的東西,因爲在覈心更新中有幾十個文件發生了變化,而且你不打算審查所有這些文件。我發佈了another question,但回答涉及僅限本地的回購/環境更改,並且不會在回購中進行跟蹤。 我已經做了一些調查研究,這是我到目前爲止已經發現:
skip-worktree
僅僅是本地屬性;沒有跟蹤。assume-unchanged
是一個本地財產只;沒有跟蹤。.gitignore
- 我試圖解開文件,忽略它,然後--force
添加它。當我做出改變時,git仍然看到它們。這不是一個解決方案。- 掛鉤未在回購中追蹤。您可以配置它們以進行跟蹤,但需要設置本地環境才能開始工作,如果我們要這樣做,爲什麼不設置
skip-worktree
或其他設置。
目前沒有辦法阻止文件的更改從在repo本身內執行(在顯式/額外步驟之外,如交換機之外),在執行額外的本地配置之外?
我發佈這個問題的原因是因爲我試圖給我的經理一個明確的「不,我們不能跟蹤回購中的這些信息,我們將不得不在開發人員的環境中做額外的配置。
我在git-bash中使用git 2.12.0.windows.1
。
你不能要求git忽略一個已經被跟蹤的文件,這樣它在所有情況下都是獨立的。任何你沒有適當的部署腳本來處理這些事情的原因? –