20

ローカル リポジトリの間違ったブランチに対して少し開発を行いました。私はgit branch次の を実行せずに を実行しましたgit checkout。コマンドは次のようになります。

#On branch development
git branch release-v0.2.0b
# changes and several commits
git push origin release-v0.2.0b

そして、間違ったブランチで作業していることに気付きました。私の github リポジトリは適切な状態ですが、ローカル リポジトリはそうではありません。開発から release-v0.2.0b に変更をマージしましたが、開発を github リポジトリの状態にリセットしたいと思います。これについて最善の方法は何ですか?

4

4 に答える 4

76

さらに迅速に、ローカル ブランチを特定のリモートにリセットすることもできます。

git reset --hard remote/branch

"remote" はリモートの名前
"branch" はリモート ブランチの名前

于 2013-05-30T08:46:23.320 に答える
16

状況を理解していることを確認するために: リリース ブランチを作成しましたが、チェックアウトしていないため、コミットはローカル リポジトリの開発ブランチにあります。変更を release-v0.2.0b ブランチにマージしたとおっしゃいました。

その場合は、開発ブランチに保持する必要のあるコミットが他にない場合は、開発ブランチのローカル コピーを削除し、オリジンから再度チェックアウトします。

まず、所有しているブランチと現在のブランチを確認します。

git branch -av

次に、開発ブランチから切り替えて、削除できるようにします。

git checkout origin/development
git branch -D development

これにより、実際にはブランチがなくなりますが、オリジンから再度チェックアウトすると、ブランチに戻ります。

git checkout origin/development -b development

スナップショット内のファイルの不必要な混乱を避けるために、オリジン/開発をチェックすることをお勧めします。

于 2010-01-27T14:10:23.187 に答える
2

変更が必要なローカル リリース ブランチに戻り、github からプルします。

git checkout local-branch-that-refers-public-v0.2.0b
git pull origin release-v0.2.0b

次に、コミットしたローカル ブランチのブランチ ポインターを、戻りたい以前のコミットにリセットします。

git checkout release-v0.2.0b
git reset HEAD^
于 2010-01-27T13:53:30.293 に答える
-3

git reset --hardを使用

于 2010-01-27T13:46:21.927 に答える