1

私の同僚は一方のブランチにいて、私はもう一方のブランチにいました。彼女が彼女のブランチを私のブランチとマージしたとき、私の変更は反映されませんでした。ソース ファイルは Xcode では "M" (修正済み) であり、"C" (競合) ではなかったので、問題ないと判断しました。ブランチに戻ると、変更したコードがまだそこにあり、コードが正常に機能していることがわかりました。次に、マージを再試行することを考えましたが、デスクトップからブランチにいました。ファイルが「M」で、「C」ではない場所にも同じことが表示されました。

繰り返しますが、私の変更は上書きされました。だから今、私はマージに戻ろうとしています。http://mac.github.com/からダウンロードした Github ツールを使用して、最新のコミットをクリックし、そのコミットにロールバックしてみましたが、変更が残っているように見えました。履歴にブランチのマージは見られません。マージ後にコミットしていないからですか?

マージする前に自分のブランチに戻るにはどうすればよいですか?

4

2 に答える 2

1

Xcode のバージョン管理 GUI も Github ツールも使用していません。変更を加えたコミットの sha1 がわかっている場合は、コマンド ラインでこれを行うことができます。

git reset --hard <the sha1>

これにより、現在のブランチがコミットにリセットされます。また、作業ツリー内のファイルもリセットされます。気をつけて。コミットされていない変更がある場合、それらは失われます。

于 2012-04-23T23:56:46.670 に答える
1

プッシュされていない最後の n 個のコミット (まだコミットされているがプッシュされていない) をリセットできます。次に、使用する必要があるコマンドは

git reset HEAD  -- will omit the last commit
git reset HEAD^n  -- will omit the n number of last unpushed commits.
于 2012-04-24T08:36:50.457 に答える