0

私はかなり頻繁にこのシナリオにいますが、何をすべきかわかりません。

  1. ブランチで何かを変更しました。コミット&プッシュ。
  2. 私はまだ同じブランチに取り組んでいて、誰かがコミットしてプッシュしました。
  3. 変更が完了し、git commit -m "Blabla"を実行してプッシュしました。
  4. リポジトリが先にあり、いくつかの変更が失われる可能性があるため、Git はプッシュを拒否しました

私の考えは次のとおりです。

  • pre git commit -m "blabla"に移動します(<-これが私が立ち往生している場所です)
  • スタッシュの変更
  • リポジトリから最新の変更をプルする
  • stash を作業ディレクトリとマージする
  • もう一度コミットする
  • 押す

そのような「対立」をどのように解決しますか、またはこの状況で行う最善のことは何ですか?

4

2 に答える 2

3

コミットをドロップ/スタッシュする必要はありません。競合を解決するには、git pull --rebaseステップ 3 からのコミットを使用すると、ステップ 2 からの同僚のコミットが自動的にリベース (スタック) されます。リベース後、コンフリクトなしでプッシュできるようになります。

于 2013-04-11T12:12:22.513 に答える
0

の回答は、最終的な目標を達成するためのより良い手段を提供しますが、あなたが尋ねた質問に対する回答は次のとおりです。

git reset HEAD~

これにより、現在のブランチが最新のものより前のコミットを指すように巻き戻されますが、インデックスと作業ツリーは現在の状態から変更されません。

于 2013-04-11T14:03:27.823 に答える