0

ローカル リポジトリで作業していますが、アップストリーム リポジトリはありません。HEADが最新のコミットを参照する単一のブランチ「マスター」がありました。何か*を達成しようとして、私は次のことを行いました:

git rebase -i master

エディターウィンドウが表示され、ピックとスカッシュを行うことができました. 次に何をすべきかわからないので、エディターを閉じて (変更は行われませんでした)、git から次のように指示されました。

refs/heads/master のリベースと更新に成功しました。

それがgitの応答の合計でした。

ここで 2 つの質問があります。

まず、私のブランチで実際に何か変更がありましたか? また、私のブランチは現在どのような状態にありますか? (私はそれが 1 で 2 つの質問であることを認識しています。)

次に、このコマンドによる影響があった場合、元に戻すにはどうすればよいですか?

4

1 に答える 1

0

まず、私のブランチで実際に何か変更がありましたか...

編集者が「いいえ」と言った場合、処理する SHA がなかったため、変更はありませんでした。

エディターに SHA が含まれていた場合、履歴が変更されるリスクがあります。影響を受ける可能性が高いのは、マージ コミットです。

...そして、私のブランチは現在どのような状態ですか?

git statusそれを調べるために使います。ブランチとリモート ブランチが分岐したことが通知された場合は、履歴が書き換えられています。そうでなければ、私はそれを汗をかきません。

[I]このコマンドによる影響があった場合、元に戻すにはどうすればよいですか?

このブランチを強制的にプッシュしていなければ、ローカル ブランチの状態をリセットして、リモート ブランチの状態と一致させることができます。

git fetch
git reset --hard origin/master

強制的にプッシュした場合は、リポジトリのコピーをプルした (まだマスターのリベースを扱っていない) 人に、マスター ブランチを強制的にプッシュするよう依頼する必要があります。

于 2015-09-18T22:45:09.063 に答える