キーワード†
- Git
- GitHub
- プルリクエスト
- rebase
したいこと†
プルリクエストを作成したい。
ブルリクエスト作成用にブランチを作成していて、リモートのmasterには別のコミットがすでにマージされているものとする。
どうやって†
ローカルのmasterを最新にする†
$ git checkout master $ git fetch $ git rebase
ローカルのブランチに切り替えてローカルのmasterからrebaseする†
$ git checkout <feature-branch> $ git rebase master
コンフリクトが発生したら?†
コンフリクトが発生したファイルを修正してaddしてからrebaseを続ける。
$ git add <conflicting-files> $ git rebase --continue
ローカルのブランチをpushする†
$ git push origin <feature-branch> -f
GitHubでプルリクエストを作成する†
画面から作成するだけ。
ちなみに†
コンフリクトしても慌てない†
コンフリクトが発生すると次のように知らせてもらえている。
When you have resolved this problem, run "git rebase --continue". If you prefer to skip this patch, run "git rebase --skip" instead. To check out the original branch and stop rebasing, run "git rebase --abort".
addのくだりがないが、addしていないと次のように忘れていないか?と確認が入る。
No changes - did you forget to use 'git add'? If there is nothing left to stage, chances are that something else already introduced the same changes; you might want to skip this patch.
プッシュするのに強制するのは?†
rebaseすると、そのブランチはリモートとローカルでコミットログが一致しない。
ブランチはプルリクエストを作成するためのものなので構わない。ということはこのブランチは常に個人だけが触るように運用するということ??