1

中止されたプル コマンドが原因で、私のチームは最近 GIT で多くの問題を抱えていました。

ユーザーがインデックスにないローカル変更を行ってプルを実行すると、git がマスターへのマージの適用を開始して中止しようとするのを見てきました。その後、チェックアウト全体が、ほとんど回復不可能な状態になります。以前は、マージを試行する前に、GIT が何らかのチェックを実行してこれらの問題を特定すると考えていました。

クリーンな状態 (コミットするものが何もない状態) であっても、少なくとも 1 回は同じことがランダムに発生するのを見てきました。リベースしないと、プルするときにマージの競合を解決しなければならないことは理解していますが、これは起こっていることではありません。

ジトライトを使用しています。私は主にコマンドラインを使用していますが、まだこれらの問題に遭遇していません。チームの残りのメンバーは、git-gui または 1 つのケースでは TortoiseGit を使用しています。

git-gui バージョン 0.13.GITGUI
git バージョン 1.7.8.msysgit.0
Tcl/Tk バージョン 8.5.1
TortoiseGit 1.7.6.0

可能な限りブランチを使用していませんが、これは機能するはずだと感じています。
GIT では、列車が大破しようとしているときにプルを試みることができるのはなぜですか?
GIT が正常に中止されないのはなぜですか?

4

1 に答える 1

1

「gitpull」は「gitfetch+gitmerge」と同じです。したがって、gitが中止すると、マージされます。

gitがブランチをマージしようとすると、「可能な限り」それを行います。マージできるファイルはマージされ、自動的にマージできないファイルは「両方が変更された」状態のままになります。開発者は、マージを完了するためにファイルを手動でチェックする必要があります。

不完全な「gitpull」(または「gitmerge」)の後にクリーンな状態を希望する場合は、次のコマンドを使用して、マージ前の最後のリビジョンに簡単に戻すことができます。

git reset --hard my_local_branch

あなたの場合、「my_local_branch」は「master」だと思います。

于 2012-04-11T17:54:46.653 に答える