GitHub でリポジトリをフォークし、プル リクエストを送信しました。プロジェクトのメンテナーはプル リクエストを拒否しましたが、フォーラムでより良い解決策を見つけました。彼らは、別の変更を加えた別のプル リクエストを作成するように指示しました。ただし、フォークしてから更新がメイン リポジトリにプッシュされたため、GitHub のリポジトリのフォークは古くなっています。また、GitHub のリポジトリには、プロジェクトの一部として受け入れられなかったため、そこにあるべきではない追加のコミット (私のプル リクエスト コミット) があります。
この質問を見つけました: GitHub のフォークされたリポジトリを更新するにはどうすればよいですか?
私は指示に従いました、具体的には、これを行いました:
git remote add upstream git://github.com/fuel/core
git fetch upstream
その結果、次のようになりました。
remote: Counting objects: 93, done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 69 (delta 49), reused 40 (delta 20)
Unpacking objects: 100% (69/69), done.
From git://github.com/fuel/core
* [new branch] 1.0/master -> upstream/1.0/master
* [new branch] 1.1/master -> upstream/1.1/master
* [new branch] 1.2/develop -> upstream/1.2/develop
* [new branch] 1.2/master -> upstream/1.2/master
* [new branch] 1.3/develop -> upstream/1.3/develop
* [new branch] 1.3/master -> upstream/1.3/master
* [new branch] 1.4/develop -> upstream/1.4/develop
* [new branch] 1.4/master -> upstream/1.4/master
* [new branch] 1.5/develop -> upstream/1.5/develop
* [new branch] 1.5/master -> upstream/1.5/master
* [new branch] 1.6/develop -> upstream/1.6/develop
* [new branch] feature/better-hmvc -> upstream/feature/better-hmvc
さて、それですべて問題ないようです。私は正しいブランチにいることを確認しました:
git checkout 1.6/develop
Already on '1.6/develop'
語。さて、これについて:
git rebase upstream/1.6/develop
First, rewinding head to replay your work on top of it...
Applying: prevent invalid XML node names
待って…何?「無効な XML ノード名を防止する」が適用されているのはなぜですか? これは、プロジェクトのメンテナーによって拒否されたプル リクエストです。「リベース」の本当の意味を理解していないのは明らかです。今私git status
が言うなら:
# On branch 1.6/develop
nothing to commit (working directory clean)
するとgit log
、問題の半分が解決したことがわかります。フォークしてからプロジェクトに取り込まれた変更は、現在、git log
. ただし、最新のコミットは「無効な XML ノード名の防止」のままです。どうすれば消せますか?
プロジェクトに対して行われた最後のコミットをチェックアウトしてみました:
git checkout 5f31a4df55e5b6ca1b2092534063a1fce4a32181
ただし、これにより、切り離された HEAD 状態になります。見回して、変更を加えて、コミットできると書かれています。それが私がやりたいことだとは思いません。HEAD が commit 5f31a4df55e5b6ca1b2092534063a1fce4a32181 を指すようにしたいと思います。私の次のステップは何ですか?