Programmers.SEに関するいくつかの質問に対するいくつかの「なぜDVCSが優れている」という回答を読むと、大規模なプロジェクトでコミットレースを行わないため、IEコミットが古くなっているため、一般的にDVCSが優れていると言われています。更新、コミット、期限切れ、コミット、まだ期限切れなど
DVCSは、プッシュの概念でこれを制限します。しかし、非常に大きなプロジェクトでは、特に1日の終わりに「プッシュレース」が行われることはないでしょうか。私はGitでこれがすべての定数分岐によっていくらか改善されることを知っていますが、Mercurialでは分岐せず、新しいヘッドを作成します。
私が見る問題
- ユーザーがプッシュしようとしています
- 古くなっている(ローカルリポジトリが古い場合、Mercurialではプッシュできないため)ローカルの変更をプルしてマージする
- ユーザーがもう一度プッシュしようとしたが、他の人をマージしているときにプッシュされたため、再び古くなっている
- もう一度プルしてマージ
- まだ時代遅れ
- 繰り返す
聞き覚えがある?
これは非常に大きく人気のある水銀レポの実際の問題ですか?誰もがその日の最後のプッシュを行うとき、社内ではどうですか?
--close-branch
コミット時にを追加できます-そしてmercurialはブランチに名前を付けました。新しいディレクトリに複製する必要はありません
hg branch myfeature; hg ci -m "Starting feature branch"; hg push --new-branch