手順:リモート dev の更新を feature に反映する
1. リモートの最新情報を取得
git fetch origin
origin/dev にリモートの最新の dev ブランチの状態が入ります。
2. 作業中の feature ブランチにチェックアウト
git checkout feature
3. origin/dev を feature にマージ(またはリベース)
マージする場合:
git merge origin/dev
きれいな履歴を保ちたい場合(リベース):
git rebase origin/dev
git fetch origin リモートの更新を取得
git merge origin/dev featureブランチにdevの更新を取り込む(マージ方式)
git rebase origin/dev featureブランチにdevの更新を取り込む(リベース方式)
ちなみに
origin は、リモートリポジトリのデフォルトの名前です。
つまり、Gitで最初にリポジトリを clone すると、自動的にクローン元(GitHubなど)に origin という名前が付きます。
プルリクエストについて
プルリクエストは、VS Code上からでもGithub上からでも実施可能。
猫のマークのGitHub pull Request部分から「pull Request作成」をクリックすると、pull Requestの画面に遷移。ここでBaseやMERGEしたいブランチを指定する。
Github上でも、Pullリクエストの作成からリクエストは作成できるので、臨機応変にプルリクエストを作るのがよい
一度、プルリクエストしたブランチに対しては、すでにプルリクエストがありますというエラーになる。
一度レビュー対応したプルリクエストに対して
一度プルリクエストして、レビュー対応を実施するには、ローカルで修正して
- ステージ
- コミット
- プッシュ (git push origin "開発ブランチ")
こうすると自動的にgithubのリモート側のブランチが更新されて、前回との差分や更新されたファイルなどが表示されるようになる。
また、削除したいファイルがあれば ローカルで削除して、削除したものをステージしてコミット/プッシュ すればそのファイルはリモート先でも削除される。
Github上でMergeについて
Github上では、プルリクエストに対して承認されれば、マージ先のブランチに対してマージのコミットが可能である。