2013-12-09 40 views
2

以下行爲令我感到困惑和困擾:如何保護git-assume-unchanged文件不被遠程覆蓋?

  1. 我在本地存儲庫中有一個文件。
  2. 我推入遠程存儲庫。 (注意:我需要在我的資源庫中的文件!)
  3. 現在我想執行本地編輯,不應該遠程推送(例如,只爲本地計算機自定義配置)。
  4. 通過使用git update-index --assume-unchanged我告訴git不要跟蹤對此文件的更改。
  5. 但是當我做git checkout -f時,我的本地文件被重寫。

什麼是更好的方式來保持我的本地更改,但不是遠程推送它們?或者:如果我的程序中有問題,我應該改變什麼?

+0

您在結帳時是否有使用'-f'的原因?這似乎與您在此嘗試完成的內容相矛盾。 –

回答

0

使用.gitignore來故意指定要忽略的文件。

1 - 推到遠程
3 - - 在本地
2添加文件(沒有特定的配置)添加文件的.gitignore
4 - 自主的本地配置
5 - 做的東西
6 - 推送到遠程
- >文件將被忽略並保持原樣。

+0

但是,這不會從遠程存儲庫中刪除文件嗎? –

+0

只要你不告訴git刪除它(使用'git rm --cached filename')它將保持原樣 – Mali

+0

嗯,但我需要在我的遠程存儲庫中的文件。所以這個答案沒有幫助...對不起 –