2017-06-09 9 views
0

私の問題をどのように記述するのかはっきりしていません。違いがあれば、SourceTreeとBitBucketに基づいています。 These questionssimilar on the face of itですが、これには答えません。コミット後にGitブランチがマージされました。私に質問なしに

私はBranch ABranch Bに取り組んでいます。今日の終わりにプッシュする準備ができています。

他の誰かが今日でもBranch Bに取り組んでいるので、私が自分の変更をプッシュする前に、私はそれらを引っ張った。だから、Branch Bをチェックアウトすると、プルするコミットの数は4で、プッシュする数は2でしたが、プルを実行するとプル数が上がりました(正確な数は記憶できません)とプッシュするコミットの数だから私は再び引っ張って、自動衝突解決であると思って、Branch AからBranch Bにマージされたアイテムを見つけただけで、本当に私が望んでいたものではありませんでした。

これは私がこの問題を抱えたのは初めてではありませんが、私が初めて偶然何かをしていたに違いないと思ったとき、私は確かに私が知りませんでした。

「マージされた変更を自動的にコミットする」がチェックされていますが、これが原因で問題が発生していませんか?私はここで何か間違ったことをしましたかこれが原因でしたか?

+0

もちろん、他の開発者がマージして引っ張ってしまった場合は、マージコミットがあります。あなたは何を期待しましたか?あなたが間違っていたことは、あなたが引っ張っていたことを知らずに引っ張って、あなたが引っ張ったものを見直さずに押し込むことでした。 – Chris

+0

@Chrisマージコミットが間違っていない、私はあなたに完全に同意する、何が起こるべきかです。しかし、ブランチAとBとのマージが追加されました - 同じ支店のローカルで起源ではない –

+1

その場合、私はあなたにもっと詳しく説明しなければならないと思います。個人的には、あなたの状況を視覚化することはできません。アノテートされたコミットグラフが良いスタートになるでしょう。 – Chris

答えて

0

私は決してこれに対する答えを実際には得ていませんが、他の誰かがこの問題に遭遇した場合に投稿すると思っていました。

本質的に問題はSourceTreeでした。私たちはプログラムでこのようないくつかの問題を抱えており、その結果として放棄しました.GitKrakenを使用しても問題はありませんでした。さらに、GitKrakenはコミットを逆転するようにするのがはるかに優れているので、全般的に良い結果が得られます。

-1

git pullを実行すると、自動的にマージされるはずです。なぜなら、git pullは基本的にgit fetchとgit mergeの構成です。マージを見て、ドキュメントを取得してください。

このような種類の問題を回避する良い方法があります。

  1. 優しくGitのプッシュ原点ヘッドドル
  2. プッシュ--rebaseサーバの$ gitのプルと-mメッセージ
  3. リベースとの同期をコミットローカルの変更に$ gitのコミット:レフリー//branchname
関連する問題