いつもお世話になっています。
Githubのpull requestにおける、作業の流れについて質問させていただきます。
##状況
-
- ローカルの作業用ブランチで修正作業を行う
-
- forkした自分のGithubの作業用ブランチに、1.をpush
-
- Githubからpull requestを送信
-
- pull requestに対して修正指示を貰う
-
- 再度ローカルの作業用ブランチで修正する
-
- 気づいたらmasterが更新されていた!
この後にすべきこととして、ローカル作業用ブランチにmasterの差分を取り込んで修正し、再pushすれば良いかと思いますが、その際以下の認識に間違いはありますでしょうか。
※ローカルのmasterは再pull済み
※conflictは一旦考えない
##自分の認識
###その1
- 作業ブランチへcheckoutし、rebase master でベースを置き換える
- 修正後pushしようとすると、過去の履歴が変わっているのでforceしなければならない
##その2
- 作業ブランチへcheckoutし、merge master で新たにマージコミットを作成する
- 過去の履歴は変わらないので、そのままpushできる
##質問事項
上記の認識があっているという前提ですが...
Q1. pull requestフローにおいて push -f は行うべきではないのか、 = rebase は初回のみした方が良いのか
実際に試したことはないのですが、過去が変わることで初回push時の差分がおかしくなる?かどうかは分かりませんが、何となくよろしくない気がします。この考えは間違っていますでしょうか
Q2. マージコミットを作成した場合、修正コミットと、全てまとめても良いのか
プロジェクトのポリシーによるものかもしれませんが、pull requestのフィードバック後にマージを含む、複数コミットをすべて一つにまとめて(rebase -i
)pushしても、問題はないでしょうか。
結局はどうするのが一般的な作法なのでしょうか、というところです。
以上、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/27 09:31 編集
2015/08/07 09:18