2016-05-11 3 views
-1

私はSmartGitを使いました! 私はをリベースしてをマージするが、私はそれはそれは、トラブルシューティング事業に分類し、それが毎日の使用のためにお勧めしていないリベース聞いの違いを知っています。だから、SmartGitは代わりにその方法を勧めます。何を選択しますか?プルダウンでrebaseメソッドとmergeメソッドの間で何を選択しますか?

enter image description here

+0

リベースは毎日の使用にはお勧めできません。私は毎日リベースを使います。そして、私はこれが主に意見に基づいていると思います。 – taskinoor

+0

[git mergeではなくgit rebaseをいつ使用しますか?](http://stackoverflow.com/questions/804115/when-do-you-use-git-rebase-instead-of-git-merge) – Arashsoft

答えて

3

親指のルール:

  • すでにリベースまたはマージされるコミットを公開している、と不特定多数のユーザは、すでに彼らのプライベートなリポジトリのクローンにそれらを持っている場合マージは唯一のオプションです。

  • 公開していない場合、またはすべてのリモートユーザーにリベースされたコミットを再フェッチするように要求することができますが、これが大きな障害になることはありません。

  • 実際には、未公開のコミットの履歴を真っ直ぐに保つために、にリベースする必要があります。たとえば以前のの間違いを発見しましたコミット、壊れたコミットにリセットして修正し、残りのチェーンを新しい固定コミットに再配置する必要があります。

根拠:コミットのgitので

及び[何らかの他DVCS親(S)は、コミットの不可分性です。親プロパティが変更された場合、元のツリーと同じソースツリーがあっても、完全に新しいコミットが生成されます。同じことが "修正されたコミット"に適用されます(少なくともコミットの時間は修正中に変更されます)。

コミットを発行すると、それらのコミットは、他のリポジトリ・ユーザーがその派生的な作業のために使用することができます。既に公開されているリベースコミットでは、他のすべてのユーザーが新しいバージョンのコミットに対して自分の作品をリベースする必要があります。確かに、それはあなたの同僚の人生をより困難にします、そして、私は実行可能な議論なしにこのアプローチを勧めません。

他の手では、変更のローカルチェーンで不要なマージを行うと複雑になり、レポ履歴がすぐに混乱するようになります。そのため、非公開のコミットセットを再編成/再注文するには、rebaseが推奨されます。

+0

ありがとうございました!私は同僚と仕事をしていて、時には3人目のユーザーが生産拠点 – Adobe

関連する問題