LoginSignup
1
0

More than 5 years have passed since last update.

GithubへPRするまで

Last updated at Posted at 2017-12-24

今回はちょっとしたGitの話です。
未だにGitを積極的に使ってなかったこともあり、一人で使う場面がほとんどだったためGitの良さが分かりませんでした。最近、現場でGithubと連携し、本格的に使っているので日々勉強中です。メモ書きレベルですが、ご参考まで。

レポジトリの命名について分かったこと

upstream

ターゲットリモートリポジトリ。このレポジトリに対してPR(Pull Request)をしたりフォーク(Fork)したりする。

origin

自分リモートリポジトリ。フォーク(Fork)するとターゲットリポジトリソースを持ってくる。

この命名は決まりではないが、一般的らしい。

PR(Pull Request)したソースを取得する

git fetch upstream pull/PR番号/head:ブランチ名

git fetch upstream pull/PR番号/head:ブランチ名

//例
git fetch upstream pull/457/head:feature/hoge

PRしたのがconflictになっている時はRebase

GithubのWeb上で確認できる(PRのところにびっくりマークが表示される。)

1.まず、リポジトリ状態を最新化する。
upstreamからpullし、自分のoriginへpushする。そうすることでupstream/master, origin/master, ローカルのmasterが最新化される。

git fetch --all
git pull upstream master
git push origin

2.作業branchになっているのか確認します。

git branch

3.Rebase実行

git rebase [もともとForkしたブレンチ名]

例) 作業ローカルブランチがhogeで最初Forkしたブランチが[master]の場合
git rebase master

4.conflictした場合はソースファイルを確認する。

git status

5.conflictを修正し、問題なかったら追加 絶対commitはしない

git add .

6.再びrebase実行

git rebase --continue

もし、分からなくなった場合や、ミスった場合はrebaseをやめたい時は、

git rebase --abort

7.4-6を繰り返す
完了したらApplying…のログが出力される。。。

8.完了したらorigin/workbranchに強制pushする。

例)workbranchがfeature/hogeの場合

git push -f origin feature/hoge
  1. Githubのweb上でpull requestを確認

びっくりマークが消えたのを確認。(conflictがないこと)

その他

最新のコミットに追加してコミットする場合、
(コメント変更でも)

git commit --amend -m "hogehoge..."

補足

ケースによって色々方法があるのであんまり役に立たないかもしれません。
SourceTreeではできないことが多く、改めてコマンドになれる必要があると思った。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0