この質問は、私がこのルートを選択された原因となっています。だから私は独自のgruntfileとgitリポジトリを持ち、積極的な開発の下にある小さなプロジェクト(web stuff)を持っています。私はこの開発のの結果を他のいくつかのプロジェクトで使用したいと思います。つまり、私はgruntfileやsassファイルなどを必要としません。しかし、この共有プロジェクトにアップデートがあれば、それらの更新を現在のプロジェクトのファイルに取り込みマージすることができます。また、これらのファイルを変更して、現在のプロジェクトのニーズに合わせて変更したいと考えています。他のいくつかのプロジェクトでgitサブモジュールとして小さなプロジェクトを使用しています - 動作させることはできません。
私が理解している方法は、これらのファイルが必要な他のプロジェクトでgitサブモジュールを作成する必要があります。私はgitにはかなり新しいと言わなければなりませんが、これまで私はいくつかの個人的なプロジェクト(それを愛しています)のために使ってきましたが、協力的ではありません(まだ引っ張り合いません)本当にそれをよく理解している。
とにかく私が現在作業しているプロジェクト(これをAと呼ぶ)のサブモジュールとして、共有プロジェクト(SUBと呼ぶ)を追加しました。だからSUBはAにフォルダとして存在し、git status
は今このフォルダをmodified
と表示します。 git add SUB/
を実行してもこれは変わりません。そして、git merge SUB/
を実行すると、私にはmerge: SUB/ - not something we can merge
が網羅されます。 ??更新されたファイルをSUBからAにどのように取得するのですか?それとも私はこれについて間違った方法をとっていますか?私はまた、どこかでサブツリーのマージ戦略を見つけました、おそらくもっと適していますか?
私はgit v2.1.4を使用していますが、afaik v2.10.1でgitサブモジュールに変更がありました。これが問題であるかどうかはわかりません。
ありがとうございます!まだ私は機械の仕組みを理解していないのが分かります。私はどこに行きますか? SUBで 'git push'を実行すると、私にも同様の質問が出ます...私は自分の仕事をすべてローカルでやっているので、リモートリポジトリはありません。 –
ああ、私の応答で 'git push 'を無視することができます。そして 'git commit'を実行するだけです。ちょうどあなたがコードを定期的にバックアップしていることを確認してください。 –
しかし 'B 'に' SUB'が必要なときはどうしますか?あなたができることの1つは、 'B 'プロジェクトに' SUB'を置いておきたいときに、 'push'、' pull'、 'fetch'、' clone'するドライブに_bare_リポジトリを作ります。 –