3

3 つの git リポジトリがあります。

  • local: ローカル マシン上の開発リポジトリ。
  • remote1他の開発者とのコラボレーションに使用されます。
  • remote2これは本番サーバーです。

    1. pullから定期的remote1localリポジトリに移動し、いくつかのローカル追跡ファイルをそのまま保持したいと思います (つまり、から取得してマージしremote1ますが、一部のローカル追跡ファイルはマージから除外します)。

    2. 一方で、私は定期的にプッシュしたいと思っpushremote2おり、ローカルの追跡ファイルもプッシュしたいと思っています。

つまり、次のバージョンの が必要ですfile1

  • local: file1 v.1
  • remote1: ファイル1、v.2
  • remote2: file1、v.1

注:file1何でもかまいません (.c​​ss、.html、さらには .png)

私は次のアプローチを試しました:

  • .gitignoreファイル (動作しません。ファイルは からプルした後に再び追跡されますremote1)
  • git pull --no-ff --no-commit remote1 master、そしてこれgit checkout --ours file1によると(動作しません、file1はv.2になります)
  • .git/info/excludehere で説明されているように(機能しません。何も無視され、無視されたとしても、その後file1にプッシュされませんremote2
4

1 に答える 1