2013-07-03 68 views
3

我有3個的git倉庫:混帳:忽略從REMOTE1拉一個文件,但推本地版REMOTE2

  • local:我的本地計算機上我的開發回購;
  • remote1用於與其他開發人員合作;
  • remote2這是一個生產服務器。

    1. 我想從remote1定期pulllocal回購和保留一些地方被跟蹤文件的完整(即獲取和remote1合併,而是來自被兼併排除一些地方被跟蹤的文件)。

    2. 另一方面,我想定期pushremote2,我希望本地跟蹤文件也被推送。

換句話說,我想有file1以下版本:

  • local:文件1 .1
  • remote1:文件1,第2節
  • remote2:file1,.1

注:file1可以是任何東西(的CSS,html的,甚至是png格式)

我曾嘗試以下方法:

  • .gitignore文件(不不起作用,從remote1
  • git pull --no-ff --no-commit remote1 master,然後git checkout --ours file1根據this(不起作用,文件1Cc omes第2節)
  • .git/info/exclude描述here(不工作,沒有被忽略,即使它被忽略,file1不會推到remote2然後)

回答

1

你可以嘗試到:

  • git update-index --assume-unchanged -- path/to/file1remote1拉之前,和
  • git update-index --no-assume-unchanged -- path/to/file1剛剛從後拉。

(如果不工作,也儘量git update-index --skip-worktree

+0

能否請你解釋一下?這個命令在底下做了什麼?是否有可能以相同的方式推動? – skanatek

+0

@MartinLee http://stackoverflow.com/a/13631525/6309。推送前可以刪除該選項。 – VonC