それが悪いやだやだという歴史の書き直しだと知っています。
しかし、リモートブランチからいくつかのコミットを永続的に削除するにはどうすればよいですか?
あなたgit reset --hard
ワーキングツリーとインデックスからの変更を削除し、あなたのためにあなたのローカルブランチgit push --force
リモートに自分の改訂ローカルブランチを。(ここでの他の解決策、リモートブランチの削除と再プッシュを含む)
このSOの回答は、特に人々が自分のローカルリポジトリをリモート履歴に依存している場合に、そのようなコマンドの危険性を示しています。マニュアルページの「UPSTREAMREBASE
からの回復」セクションを人々に指摘する準備をする必要がありgit rebase
ます。
Git 2.23(2019年8月、9年後)では、新しいコマンドを使用しますgit switch
。
つまり:(削除するコミットの数で置き換えます)git switch -C mybranch origin/mybranch~n
n
これにより、インデックスと作業ツリーが復元されますgit reset --hard
。ドキュメントが追加されます:
-C <new-branch> --force-create <new-branch>
すでに存在する
--create
場合<new-branch>
は、にリセットされることを除いて、と同様<start-point>
です。
これは、次の便利なショートカットです。$ git branch -f <new-branch> $ git switch <new-branch>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加