今回はちょっとしたGitの話をしたいと思います。
未だにGitを積極的に使ってなかったこともあり、一人で使う場面がほとんどだったためGitの良さが分かりませんでした。最近、現場でGithubと連携し、本格的に使っているので日々勉強中です。メモ書きレベルですが、ご参考まで。
レポジトリの命名について分かったこと
upstream
ターゲットリモートリポジトリ。このレポジトリに対してPR(Pull Request)をしたりフォーク(
Fork)したりする。
origin
自分リモートリポジトリ。フォーク(Fork)するとターゲットリポジトリソースを持ってくる。
この命名は決まりではないが、一般的らしい。
PR(Pull Request)したソースを取得する場合、
1 |
git fetch upstream pull/PR番号/head:ブランチ名 |
1 2 |
//例 git fetch upstream pull/457/head:feature/hoge |
PRしたのがcomplictになっている時はrebaseを実行する。
GithubのWeb上で確認できる(PRのところにびっくりマークが表示される。)
1. まず、リポジトリ状態を最新化する。
1 |
git fetch --all |
2. 作業branchになっているのか確認します。
1 |
git branch |
3. リベイス実行
1 |
git rebase [もともとForkしたブレンチ名] |
1 2 3 4 |
例 //作業ローカルブランチがhogeで最初Forkしたブランチが[develop]の場合 //hogeブランチから、 git rebase develop |
4. complictした場合はソースファイルを確認する。
1 |
git status |
5. complictを修正し、問題なかったら追加 (絶対commitはしない)
1 |
git add . |
6. 再びrebase実行
1 |
git --continue |
もし、分からなくなった場合や、ミスった場合はrebaseをやめたい時は、
1 |
git rebase --abort |
7. 4-6を繰り返す
完了したらAppling…のログが出力される。。。
8. 完了したらorigin/workbranchに強制pushする。
1 |
git push -f origin feature/hoge |
9. githubのwebでpullreqeustを確認
びっくりマークが消えたのを確認。
最新のコミットに追加してコミットする場合、
(コメント変更でも)
1 |
git commit --amend -m "hogehoge..." |
補足
ケースによって色々方法があるのであんまり役に立たないかもしてません。
SourceTreeではできないことが多く、改めてコマンドをなれる必要があると思った。
この投稿へのコメント