問題タブ [git-subtree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1133 参照

git - git サブツリーのプッシュと分割に「-n」を追加" メッセージをコミットする

または (結果として?) サブツリーをアップストリームにプッシュするときに、サブディレクトリをブランチに分割するたびにgit subtree split、新しいブランチ/アップストリーム コミットのコミット メッセージには「-n」と改行が付加されます。

分割で示すのが最も簡単です:

これから、私は得る:

ご覧のとおり、「splitme-only」ブランチには、コミット メッセージの先頭に「-n」が追加されています。github はデフォルトで最初の行以外のすべてを折りたたむので、これは特に悪いことです。したがって、github でこれらのコミット メッセージを簡単にざっと見ることはできません。

--annotateもっと読みやすいものを得るために使用しようとしましたが、それは「-n」行に何かを追加するだけです。

の動作は同じですsubtree push

「-n」行が追加されないようにする方法はありますか? ラインアウトをリベースできましたが、それをいじってみると、サブツリーのマージが壊れました。私は何か間違ったことをしていますか?

OS X 10.8.4 で git 1.8.3.4 を使用します。

0 投票する
1 に答える
691 参照

git - Git: 1 つのフォルダーに複数のサブツリー/サブモジュールがありますか?

ローカル マシンには、いくつかのプロジェクトによってインポートされる共通のスクリプトがあります。

一般的なスクリプトとプロジェクトは、個別の git リポジトリで追跡されます。必要なすべてのリポジトリを複製できるため、これは私の個人的な作業では問題なく機能します。プロジェクトを git 経由で公開する場合、サブツリーまたはサブモジュールを介して共通ファイルを含めることができます (共通ファイルへの参照は明らかに B1.py で更新されます)。

ここで、スーパープロジェクト (ターゲット) を組み立てたいと思います。

サブツリーとサブモジュールを使用して、次のことを達成できました。

ただし、これは非常に冗長であり、sub-x チェーンを介して変更を伝播するのは面倒です。プロジェクトおよび共通ファイルへの更新をプルする機能を保持しながら、上記のターゲット ディレクトリ構造を実現するにはどうすればよいですか? 価値があるのは、サブツリー/サブモジュールの変更を上流にプッシュする必要があるとは思わないことです。

両方の OS で独立した構成を必要としないクロスプラットフォーム (Windows-UNIX) ソリューションのボーナス。Git ベースのソリューションが望ましい。

0 投票する
3 に答える
2641 参照

git - git サブツリーでタグをプッシュするには?

git-subtree を使用して、いくつかのサブレポで構成される大きなレポを正常に作成しました。Master に Slave1 と Slave2 が含まれているとします。

マスター/スレーブ1/スレーブ2/

マスターにタグを付けて、各タグをスレーブリポジトリにプッシュしたいのですが、どうすればいいですか?

「git push Slave2 --tags」を実行すると、タグ全体が転送されますが、Slave2 に関連するファイルのみを転送する必要があります。

git-subsplit で実現できますが、正直言って、少し非現実的で遅いです。

なにか提案を?

0 投票する
2 に答える
1500 参照

git - --prefixを無視してgitサブツリーマージ

Windows の git 1.8.3 で奇妙なエラーが発生しました。を使用してgit subtree、2 つのプロジェクト間で共有するファイルを取得し、それを別のリポジトリにプッシュしました。

だから、repo1で私はこれをしました:

両方のリポジトリでshared-repo、共有コードを含むリモートを指します。共有コードは、同じ名前のディレクトリに存在します。

repo2 で私はこれをしました:

私が期待しているのは、共有ファイルを取得し、ディレクトリの下の repo2 に配置すること./shared-dir/です。何が起こるかというと、ファイルはリポジトリのルートに配置されます!

ファイルを正しいフォルダーに移動し、repo1 のプッシュ スクリプトに似たものをコミットして実行すると、プッシュが早送りされていないことが示されるため、プッシュが拒否されます。プル スクリプトを再度実行すると、すべてが最新であることが示されます。

私は踏みにじられており、インターネットを検索しても、同様の問題を抱えている人は他にいませんでした. 何が問題で、どうすればよいですか?


更新: Ubuntu 12.04 の git 1.7.9.5 でも、git-subtree2 週間前に git リポジトリから取得したスクリプトで同じことが起こります。--prefix=./shared-dir/また、無駄に言うようにコマンドを変更しました。

興味深いことに、ディレクトリをgit subtree作成shared-dirしますが、共有ファイルをそのディレクトリ内ではなくルート ディレクトリに配置します。

0 投票する
0 に答える
61 参照

git - 複数のリポジトリからの複数の git サブツリー、ディレクトリ レイアウトのオフセット

2 つの異なる git リポジトリがあるとします。

これまでのところ、(sparsecheckout を使用して) 以下のみを管理しました。

しかし、私は本当に次の方法でそれらを組み立てたいと思っています:

また、work-repo/dir11 の変更を repo-1/dir11 にコミットすることもできます。/dir22 と /dir23 についても同様です。

git-subtree でそのようなことを達成することは可能ですか? (またはその他の git 拡張機能/コマンド)

0 投票する
0 に答える
255 参照

git - Git サブツリーのプッシュにより、オブジェクト数が長くなります。これを回避する方法は?

次のようにプロジェクトにサブツリーを追加しました。

これらのリモコンをセットアップしました:

Git ステータスに変化はありません。

master ブランチで、サブツリー ディレクトリの README.md を編集します。

私はコミットします:

これを migrate-hrweb-github リモートにプッシュしようとしました:

ここで、この長いオブジェクトのカウントが完了するまで (5 分) 待つ必要があります。マスター プロジェクトは、大規模な Drupal インストールです。すべてのオブジェクトがカウント/フィルタリングされていると思います:

最後に私は得る:

コミットごとにオブジェクト数を長時間待つのを避けるにはどうすればよいですか? (答えは「git subtree split」に関連している可能性があると思います...?)

0 投票する
2 に答える
1360 参照

git - 必要なものは git サブモジュールですか?

2 つの Web サイト用に 2 つのリポジトリがありますが、これら 2 つの Web サイトは同じフレームワークを共有しています。

フレームワーク自体専用のリポジトリを作成したかったのですが、それがどのように機能するかわかりません。

私が現在行っていることは、website1 内でフレームワークを開発し、新しい機能を追加するたびにそれを website2 にコピーすることです。ご覧のとおり、あまり効果的ではありません...

フレームワーク用に別のリポジトリが必要ですが、引き続き作業できるように、2 つの Web サイトのいずれかに格納する必要があります。最も重要な部分は、簡単な方法で他の Web サイトに展開できる必要があることです。

私にとって最善の解決策は何ですか?これはどのように達成できますか?

PS:過去数か月間、Bitbucket で SourceTree を集中的に使用していたため、git にはかなり精通していますが、コマンド ラインは使用したことがありません。