ここにシナリオがあります:私はsomeonesリポジトリをGithubからフォークし、それをローカルディレクトリにクローンします。私は変更を加え、コミットしてフォークされたリポジトリにプッシュします。私は元のリポジトリにプルリクエストを送信しますが、何らかの理由で拒否されます。元のリポジトリは他の人からコミットを取得し、フォークされたバージョンは古くなってしまいます。さて、元のレポの最新バージョン(私のフォークされたレポやローカル)を入手するにはどうしたらいいですか?また、拒否されたコミットのためにGithubのコミット履歴を削除するにはどうすればよいですか?フォークされたGitリポジトリを削除して再フォークせずに再取得するにはどうすればよいですか?
答えて
マスターブランチで独自の変更を加えないでください。新しいブランチを作成して変更を加えてプッシュする必要があります。リモート1へのあなたのブランチが同じようにしたいとにかく場合の対処:
と仮定すると、あなたがそこに先に行くと、上流で上書き分岐マスターがある場合は、リモートgit fetch upstream
git checkout -f -B master upstream/master
checkoutコマンドのように、上流は、上記のだろう持っています/マスタが上流/マスタからそれを作成していない場合は、マスタです。
あなたは上流のリモート使用などgit remote add upstream repositoryurl
EDITを追加して持っていけない場合:[GitはのためのGithub上でコミット放棄のgit reset --hard upstream/master
が
GitHubでフォークされたリポジトリを同期させて保存することは、2段階のプロセスです。
と同期して、あなたの地元のレポをしてください:
gitが上流フェッチ。 gitの上流マージ/
を習得
あなたの地元のレポと同期してGitHubの上であなたのフォークをしてくださいgitのプッシュ原点マスター
は、いくつかの説明についてはGitHub Fork A Repoを参照してください。フォークしたリポジトリのリモートとして '上流'を設定する必要があります。
'拒否されたコミット'の場合、ローカルブランチでそれらを実行した場合、ブランチを削除するだけで済みます。ローカルブランチにない場合は、ブランチのHEADを選択したコミットに戻す必要があります。 Like:
# Assume you are on master and need to go back to commit BeadBabe
git checkout -b temp
git branch -f master BeadBabe
git checkout master
git branch -d temp
削除されました。
私はこれが受け入れられた答えよりも少しはっきりしていることがわかりました。説明ありがとう! – Tim
実際より適切である可能性の重複:それは-B
EDITでなければなりません拒否プルリクエスト](http://stackoverflow.com/questions/9538320/abandoning-git-commits-on-github-for-rejected-pull-requests) – CharlesB