私は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. iPhoneから複数のWebサービスを同時に呼び出すことはできますか?
- 2. ソケットリスナー複数同時AcceptAsync呼び出し
- 3. オブジェクトのメソッド呼び出しをオブジェクトのインスタンス化と同時に行うことはできますか?
- 4. 同じオブジェクトを呼び出す複数のスレッドが同時に機能します。それは問題を引き起こすことができますか?
- 5. hrefリンクと同時にフラッシュ関数を呼び出すと、フラッシュ関数は常に実行されますか?
- 6. 同時スレッドからXMPPConnection.sendPacketを呼び出すことはできますか?
- 7. 同じエアアプリケーションの複数のインスタンスを同時に実行させることはできますか?
- 8. 2つのループを同時に呼び出すと2つのループが同時に実行されますか?
- 9. 同じプロジェクトで複数のgitブランチを同時に表示することはできますか?
- 10. 実行時に関数またはデータを呼び出す
- 11. C++:複数の* .exeを同時に呼び出す
- 12. 実行時に関数呼び出しをスキップするC++
- 13. 複数の呼び出しを実行する
- 14. 複数のajaxが同時に呼び出す
- 15. 実行時にファクトリをいつどこに呼び出すか?
- 16. jQueryで別のAJAX呼び出しの中でAJAX呼び出しを行うことはできますか?
- 17. 実行時にメソッドを呼び出す
- 18. 複数の非同期呼び出しを行い、完了したら何かを実行します
- 19. ASP.NET/IIS7でいくつの同時発信HttpWebRequest呼び出しを行うことができますか?
- 20. howtoは複数のセレンブラウザを同時に実行します
- 21. SQL Serverは複数のコマンドを同時に実行します
- 22. 1回の呼び出しで複数のSQL文を実行
- 23. 同じページでYUI.addを同じモジュールに対して複数回呼び出すことは安全ですか?
- 24. 複数のCTEを同じクエリで複数回呼び出す
- 25. 実行時に名前で関数を呼び出す
- 26. 異なるが現在実行中のプロセスで関数を呼び出すことはできますか?
- 27. 複数のアニメーションデリゲートを同時に作成することはできますか?
- 28. 'GET'の動作と同様に、ローカルファイルへの 'PUT' ajax呼び出しを行うことはできますか?
- 29. 関数呼び出しをソフトコードにすることはできますか?
- 30. 複数のメソッドを同時に複数回実行する#
ユースケースについて少し詳しく説明できますか?異なるリモコンに相反する変更がありますか? 'git fetch'を実行し、' git log'を使って最新のものを正統に選ぶベースラインを得ることができませんでしたか? – Romain
私はいくつかのデータを複数のマシンに分散するためにgitを使用しています。新しいコミットの唯一の究極のソースがあるため、競合は発生しません。リモートブランチブランチが新しいものかどうかを確認し、もしあればマスターブランチと作業コピーを更新するので、 "Merge"は実際には誤った名前です。ほとんどのマージはno-opsになりますが、時には更新が伝播し、まれに2つまたは3つのリモートがあり、それぞれ同じ更新コミットを同じ時刻に持つこともあります。 –
次に、すべてのリモートから 'git fetch'を実行して、' git merge --rebase'を実行して、先ほど取得した最も遠いリモートヘッドを選択します。 – Romain