- Git 10
285 :デフォルトの名無しさん[sage]:2014/07/25(金) 18:57:19.85 ID:voM5b4Ni - >>266
> >>254の「別にpullされても、その人のlogがおかしくなるだけだろ? 」これが間違ってるって言ってるの わからん。解説たのむ。例えばふたつのリポジトリ * A氏のリポジトリrepo-a、 * A氏のリポジトリからcloneしたB氏のリポジトリrepo-b があったとする。 1. A氏がrepo-aに作業用ブランチworkをpushした。 2. B氏がrepo-aのworkをrepo-bにpull 3. B氏がrepo-bのwork上に独自にコミットを追加した。 4. A氏がworkをrebaseしてrepo-aにpushした 5. B氏がrepo-aのworkをpull -> repo-bのworkでマージ発生。 6. B氏発狂 7. A氏「しらねーよ。repo-aは正常だよ?」 何が問題なんだぜ?あえて言えば3でB氏がworkにコミット追加するのが間違いだが。
|
- Git 10
290 :デフォルトの名無しさん[sage]:2014/07/25(金) 21:06:16.92 ID:voM5b4Ni - >>287
> 都合よくリベース前側のコミットの差分を無視なんかしてくれないからマズイ結果になる うんうん、 5. B氏がrepo-aのworkをpull -> repo-bのworkでマージ発生。 のことだよね? それはworkという他人の作業ブランチをチェックアウトしている B氏が注意して避けるべき問題であって、B氏以外の人が配慮するべき問題ではないよね。 B氏がそれを避けられないほど間抜けだっつう話だとしても、 B氏を哀れだとは思うがB氏以外の人が負担を強いられるべき問題だとは思わない。
|
- Git 10
298 :デフォルトの名無しさん[sage]:2014/07/25(金) 23:22:28.88 ID:voM5b4Ni - >>291
> 5.が起こるのに3.は必要無いってことです たしかに別に3がなくても5で不要なマージコミットできちゃうね。 でもそれってB氏の責任というのが俺の立場だなぁ。 > ※そういうブランチがあったら誰も困らないなんてことは無い。そのpullしてる人は困る つまり、 >>254「(pullした奴以外)誰も困らねーだろ」 >>250「pullした奴が困ってるじゃねーか」 ということかな。だいぶ君の主張が理解できた気がする。(つづく)
|
- Git 10
299 :デフォルトの名無しさん[sage]:2014/07/25(金) 23:23:17.38 ID:voM5b4Ni - だが、これを聞いてもやはりpullした奴(例えばB氏)が気をつけるべきだというのが俺の見解だよ。
理由はpullした奴(例えばB氏)も実はそんなに困らないからなんだ。 昔のGitだと当てまらないことも多いかもしれないが、 1. 上流を参照するだけのブランチはpull --rebaseで更新するようにする 2. 勝手に古いブランチを捨てるのが嫌ならpull --ff-onlyで上流のrebaseを検出できるようにする 3. git fetch 時の出力に (forced update) と表示されてないか注意しておく 4. pull/merge前の git status/checkout のときに your branch and'origin/work' have divergedと出力されない (ca be fast-forwardedと出力される)のを確認する 5. merge時のff-onlyとかをconfigに指定しとく などなど (他にもある) 、いくらでも避ける手段はあるうえ、 万が一pullしてmergeが発生してしまったとしても、 resetやreflog, conflicしていた場合はmerge --abortとかで戻れるわけだし。 merge発生に気づかないほど間抜けなら(ry
|
- Git 10
304 :デフォルトの名無しさん[sage]:2014/07/25(金) 23:36:29.29 ID:voM5b4Ni - >>300 >>291
pullしてmerge発生したのに気づかず上流のmasterにpushしちゃうってことを危惧してたの? だとしたらそんなことするアホにpush権限与えてしまった上流リポジトリのオーナーが間抜けって話だね。
|
- Git 10
307 :デフォルトの名無しさん[sage]:2014/07/25(金) 23:45:53.97 ID:voM5b4Ni - >>302
> そういうわけで、>>254が間違っているかどうかを答えて頂けませんか? うーん、俺の理解は↓のとおりだよ。 >>254「(pullした奴以外)誰も困らねーだろ」 >>250「pullした奴が困ってるじゃねーか」 254の発言を字面通りに解釈するなら君の言うとおりpullしたやつが困ってる、という意味で「誰も」は正確ではないと主張は可能だね。 だけど、254は(俺もだけど)暗黙的にpullした奴が困ってるのはそいつの責任だからしったこっちゃねーよ (しかも避ける方法・回復する方法などいくらでもあるから本当には困ってねーだろ) という意味で「誰も困らない」と言っているのだと思うけど? だから、単純に字面を額面通りに捉えて >>254 が間違っているという主張には賛同できないな。 どうだろう?
|
- Git 10
310 :デフォルトの名無しさん[sage]:2014/07/25(金) 23:54:12.80 ID:voM5b4Ni - >>306
> レビューしてるひとに迷惑かかりますよね?rebaseしてるからレビューするひとは毎回ブランチ作り直しです それでいいのでは。 レビューで出される指摘事項に依存すると思うけど、 「あっちのコミットとこっちのコミットは一つのコミットにするべきだから、fixupして」 あるいは 「このコミットは2種類の変更が混じってるから分割して」 とかの指摘だった場合、rebase以外で対応するのは原理的に無理だよ?
|