新しいコミットを受け取るには
git fetch
リセット
を使用して、ローカルブランチのコミットをリセットできgit reset
ます。
ローカルブランチのコミットを変更するには:
git reset origin/master --hard
ただし、ドキュメントには次のように記載されています。
インデックスと作業ツリーをリセットします。<commit>以降の作業ツリー内の追跡ファイルへの変更は破棄されます。
ローカルで行った変更を実際に保持したい場合は、--soft
代わりにリセットを行ってください。これにより、ブランチのコミット履歴が更新されますが、作業ディレクトリ内のファイルは変更されません(その後、それらをコミットできます)。
リベース
次を使用して、他のコミット/ブランチの上にローカルコミットを再生できますgit rebase
。
git rebase -i origin/master
これにより、インタラクティブモードでリベースが呼び出され、リベースしている履歴にない個々のコミットを適用する方法を選択できます。
(を使用してgit push -f
)削除したコミットがすでにローカル履歴にプルされている場合、それらは再適用されるコミットとして一覧表示されます-リベースの一部として削除する必要があります。そうしないと、単に履歴に再び含まれます。ブランチの場合-次のプッシュでリモート履歴に再表示されます。
git command --help
上記の(またはその他の)コマンドの詳細と例については、ヘルプを使用してください。
git checkout master && git branch -D test && git checkout -b test origin/test