GITの実装では、すべての変更が1つのリモートorigin
からプルされてプッシュされます。私もローカルブランチが1つしかありません:master
。GIT:別のリモートリポジトリに異なるサブディレクトリをプッシュ
私にはクローンしてから引き出すクライアントがあります。origin
です。ただし、特定のフォルダのみが必要です。毎回すべてを引っ張ると、望ましくないいくつかのフォルダが上書きされます。 Gitは選択的な引っ張りを許さないようです。
別のリモートレポを作成しました:production
;私のローカルリポジトリから特定のフォルダだけがプッシュされます。予想される結果として、origin
にはプロジェクトのすべてのフォルダが含まれ、production
には選択されたフォルダのみが含まれています。
私はこれを解決するためのヒントや代替の最小限のアプローチを得てうれしいです。ここで
を説明するための例です: 私のローカルリポジトリには、以下の構造を有する:
root/...
root/folder1...
root/folder2...
root/folder3...
root/folder4...
私はルートフォルダにgitのを初期化し、そして私は私のリモートorigin
にすべての変更を追跡し、押してください。 origin
から引き出すクライアントは、フォルダ1-4からすべての変更を取得します。しかし、彼らはfolder2とfolder4と言う必要があります。ですから、私の考えはすべてのコミットをorigin
にプッシュすることですが、folder2とfolder4のコミットだけをproduction
にプッシュできるようにしてください。
このように、クライアントが起源をクローンすると、フォルダ1-4が取得されます。彼らがproduction
をクローンすると、folder2とfolder4だけが得られます。
これはどのように達成できますか?
Gitはファイルやフォルダをプッシュせず、*コミット*の観点から動作します。他のコミットのサブセットを含むコミットを送信する場合は、それらのサブセットを別々にコミットする必要があります。その後、好きなサブグラフを好きなものにプッシュできます。 – torek