1

Mac にハードウェア障害が発生したため、git リポジトリ (.git ファイルを含むすべてのファイルを含むフォルダー) を Debian マシンに転送しました。その Debian マシンから、コミットを行い、origin/master (Github 上) にプッシュし、その後、コミットされていない変更をファイルに加えました。

Mac を修復した後、このレポ (コミットされていない変更を含む) を Debian から Mac に戻しました。次に、Macでコミットしました。Git (「git status」経由) は、私が origin/master より 3 コミット進んでいることを報告しています。しかし、Mac と Github でのコミット履歴を比較すると、実際にはコミットが 1 つ進んでいるだけです。

何かにダメージを与えずにオリジン/マスターにプッシュするのが怖いです。ローカル リポジトリを 1 つ先のコミットに修正することはできますか、それともプッシュ修正自体で修正できますか?

4

1 に答える 1

1

ローカルmasterを一時的なブランチに分岐し、ローカルの状態をリセットするだけですmaster:

git branch temporary master     # create a local branch called 'temporary' based on master
git checkout master             # checkout master if you haven't already
git fetch && git reset --hard origin/master    # reset it to origin

履歴を見て (あなたは にいますmaster)、それが正しいことを確認してください。そうでなく、一時的なブランチが正しかった場合:

git checkout -B master temporary    # reset master branch to temporary's state
于 2013-09-11T04:08:35.270 に答える