フォークした Git リポジトリのマスター ブランチを完全に台無しにしてしまいました。
アップストリーム マスター リポジトリの内容を使用して、フォークにプッシュされたマスター ブランチを完全にリセットしたいと考えています。マスター ブランチの変更や履歴を保持することには興味がありません。
最も簡単な方法は、フォークしたリポジトリを削除し、アップストリーム プロジェクトから再フォークすることです。ただし、他のプッシュされたブランチで作業しているため、失いたくないのです。
では、プッシュしたマスター ブランチをアップストリーム マスターにリセットするにはどうすればよいでしょうか?
git clone https://myrepo.git
cd myrepo
git remote add upstream https://upstream.git
git fetch upstream
ローカルおよびリモートのマスター ブランチをアップストリーム マスターにリセットするには、どうすればよいでしょうか?
ベストアンサー1
ローカルのマスター ブランチをアップストリーム バージョンにリセットし、それを origin リポジトリにプッシュできます。
「upstream」が元のリポジトリで、「origin」がフォークであると仮定します。
# ensures current branch is master
git checkout master
# pulls all new commits made to upstream/master
git pull upstream master
# this will delete all your local changes to master
git reset --hard upstream/master
# take care, this will delete all your changes on your forked master
git push origin master --force
(を使用して、元のリポジトリを「アップストリーム」として定義できますgit remote add upstream /url/to/original/repo
。)