私はgitに基づいたツールを書こうとしていますが、幾分珍しいことをしています。それでは、git merge --ff-only [remote-branch]
の複数のインスタンスを一度に実行して、最新のコミットを入手するのは安全ですか?すべてのリモコンは、同じ行のコミットになります。私は私のツールでそれらをすべて生成し、それを並べ替えることができるようにしたいと思いますが、これが問題を引き起こすかどうかを知る必要があります。誰かがgit内部について何らかの方法で十分に知っていますか?'git merge'の複数の呼び出しを同時に実行することはできますか?
答えて
を言って、正常に戻さgit branch --contains
または他の方法で古いコミットが到達可能かどうかを確認してから、resetまたはupdate-refを実行しますか?
これは非常に高速で、作業ディレクトリの更新を避けることができます。
ありがとうございます、実際には本当に便利ですね! –
Gitは同時アクセスを防ぐためにロックを使用します。最悪の場合、マージの試行は失敗し、lock file exists
というエラーが表示されます。
ところで、マージで複数のマージを許可すると、タコのマージ戦略があります。
この状況では、同時にリモートブランチを作成するのではなく、各リモートブランチを順番にマージするのはなぜですか?
#!/bin/sh
set -e
for rtb in origin/master github/master gitorious/master
do
git merge --ff-only $rtb
done
HEAD
がすでにリモート追跡分岐の1つが含まれている場合は、なぜあなただけ検査していない、マージはまだ、あなたは--ffのみのマージ行っている場合Already up-to-date.
私はそれをやっていますが、IOがうまく動かなければ、「git merge」は無作為に1分以上かかることがあるので、このスレッドの責任を他の何かにもたせることができたかったのです。私は、すべてのマージを独自のスレッドに入れて、シリアライズし、それを使って完了させることができます。 –
右。マージが必要な場合には、コミット・グラフを走査する際にIOがほとんど必要ありません。ほとんどの場合、I/Oの大半は、早送りマージが必要であることを見つけた後、新しいコミットを実際にチェックアウトしていると思われます。その場合、最善の勝利は最新のコミットを見つけて、 。 –
- 1. 複数の呼び出しを同時に実行する方法
- 2. 複数のAPI URLを呼び出して同時に呼び出します
- 3. 同時に複数のAjax呼び出しを実行すると、1つを除いてすべてのAjax呼び出しが実行されます。
- 4. 信頼できるアクターブレークターンベースの同時実行性で非同期呼び出しを実行しますか?
- 5. iPhoneから複数のWebサービスを同時に呼び出すことはできますか?
- 6. イベント関数は同時に複数の他の関数を呼び出すことができません
- 7. jqueryまたはjavascriptは複数のアクションを同時に呼び出していますが、同時に呼び出すことはありません
- 8. ソケットリスナー複数同時AcceptAsync呼び出し
- 9. オブジェクトのメソッド呼び出しをオブジェクトのインスタンス化と同時に行うことはできますか?
- 10. 同じオブジェクトを呼び出す複数のスレッドが同時に機能します。それは問題を引き起こすことができますか?
- 11. 同時スレッドからXMPPConnection.sendPacketを呼び出すことはできますか?
- 12. Spring Javaで同時に複数のWebサービスを呼び出す
- 13. 複数のプレイブックを同時に実行できますか?
- 14. 同時に2つのajax呼び出しを実行しますか?
- 15. hrefリンクと同時にフラッシュ関数を呼び出すと、フラッシュ関数は常に実行されますか?
- 16. )(notifyDataSetChangedを呼び出すとgetViewメソッド(複数の時間の実行を作る)
- 17. 同じエアアプリケーションの複数のインスタンスを同時に実行させることはできますか?
- 18. 2つのループを同時に呼び出すと2つのループが同時に実行されますか?
- 19. 同じプロジェクトで複数のgitブランチを同時に表示することはできますか?
- 20. 実際に非同期の残りの呼び出しを行うことはできますか?
- 21. 複数のウェブサイトで同時にAPI呼び出しが行われる
- 22. 複数のスレッドから同時にwrite()を呼び出すことは安全ですか?
- 23. 実行時に関数またはデータを呼び出す
- 24. 同時に複数のApiリクエストをspring mvcで呼び出します
- 25. C++:複数の* .exeを同時に呼び出す
- 26. 複数のテーブルに対して1つのsqoopジョブを同時に使用することができ、同時に実行することができます
- 27. 同じ名前の複数の要素からget_attribute()を呼び出すことはできますか?
- 28. 実行時に関数呼び出しをスキップするC++
- 29. 実行時にファクトリをいつどこに呼び出すか?
- 30. jQueryで別のAJAX呼び出しの中でAJAX呼び出しを行うことはできますか?
ユースケースについて少し詳しく説明できますか?異なるリモコンに相反する変更がありますか? 'git fetch'を実行し、' git log'を使って最新のものを正統に選ぶベースラインを得ることができませんでしたか? – Romain
私はいくつかのデータを複数のマシンに分散するためにgitを使用しています。新しいコミットの唯一の究極のソースがあるため、競合は発生しません。リモートブランチブランチが新しいものかどうかを確認し、もしあればマスターブランチと作業コピーを更新するので、 "Merge"は実際には誤った名前です。ほとんどのマージはno-opsになりますが、時には更新が伝播し、まれに2つまたは3つのリモートがあり、それぞれ同じ更新コミットを同じ時刻に持つこともあります。 –
次に、すべてのリモートから 'git fetch'を実行して、' git merge --rebase'を実行して、先ほど取得した最も遠いリモートヘッドを選択します。 – Romain