2011-11-15 10 views
133

私はgitリポジトリをフォークし、上流に設定しました。私はMasterブランチでいくつかの変更を行い、コミットしてgithubにプッシュしました。マスターブランチを上流に戻す方法

ここで、Masterブランチのすべての変更を破棄し、アップストリームのマスターブランチと同じにするにはどうすればよいですか。

答えて

255

(私はあなたが今無視したいの変更がoriginリモートであることを仮定している、あなたはあなたのmasterブランチにしている、とあなたはupstreamリモートの内容に戻したい)まず

、上流のマスターにあなたの作業コピーをリセットします。

git remote update 
# the double hyphen ensures that upstream/master is 
# considered as a revision and not confused as a path 
git reset --hard upstream/master -- 

そして、それは早送りではないという事実を無視して、自分の原点リポジトリにこの新しいブランチヘッドをプッシュする:

git push origin +master 
+13

GitHubを使ってブランチをフォークした場合は、 'git remote add upstream 'も実行する必要があります。 – Kato

+3

'git push origin + master'の' + 'の意味は何ですか? 'git push origin master'と同じですか? – bluenote10

+3

@ bluenote10彼らは同じではありません。 '+'はgitに「早送りではないという事実を無視する」ことを指示するものです。これは 'git push --force'のようなものですが、その特定のrefにのみ適用されます。 – nickgrim

関連する問題