1

公開されていないリポジトリでローカルの変更をコミットした場合、正しいことは、git pull --rebaseそれらをアップストリームに統合することです。これにより、クリーンで線形のログが作成されます。を実行するgit pullと、git が一種のサイド ブランチでコミットをまったく同じに保ち、追加の変更を自動的に適用してそれらを統合するため、醜いマージが発生します。変更は公開されておらず、同じ SHA ハッシュを使用して同じ形式で保存する必要がないため、これらのマージは不要です。アップストリームと開発が一直線に並んでいる場合は、より良い結果が得られます。

の効果を元に戻してからgit pullやり直す簡単な方法はありgit pull --rebaseますか?

予防的に、間違っている可能性のあるデフォルトを想定する代わりに、ローカルコミットがある場合にgit pull、明示的--no-rebaseまたは続行するために必要とする方法はありますか?--rebase

4

3 に答える 3

2

やり直す必要はありません。git pull --rebase入力した後にもう一度入力するだけですgit pull

于 2013-05-22T19:53:48.770 に答える
1

引っ張る前の状態を見てgit reflog、もう一度。git reset --hardgit rebase --pull

新しいブランチをマージする代わりに、自動的にリベースするように設定することもできます:

git config branch.autosetuprebase always

および既存のブランチの場合

git config branch.*branch-name*.rebase true
于 2013-05-22T19:51:20.910 に答える
0

マージの前に、HEAD と作業ツリーを前のコミットにロールバックするには:

git reset --hard HEAD^
于 2013-05-22T19:51:34.207 に答える