Soft_Job 板


LINE

問題是這樣的 專案在開發可能會因為開發某 feature 從 master 切 branch 出來 如果需要 master 上面的 update 如果是自己的話就還好 可以自己在 local git rebase 但是如果多人開發同一個 feature 會交互的 commit code 到 remote 上 在需要 update master code 的時候 這樣的話就不能作 rebase 通常的作法會是 cherry-pick 噁心一點的話就會直接把 master merge into feature 會造成 git merge graph 相當的可怕 問題說到這邊 也許有人會說 「為什麼要從 master merge into feature?,這樣不對啊」 「可能是 feature 切的不夠細」 「可能是 commit 顆粒掌握不對」 ... 會有一些類似這種 operation 上面的認知的問題 說這麼多是想請問各位大大 以 git remote rebase(誤) 作為糾結的起點 各位有什麼解法嗎?! 或是有什麼 best practice 可以躲過這些問題? 我想要做到的就是「不影響他人的」remote rebase 作法 XD (當然 remote 是無法 rebase 我知道 QQ) 各位有什麼建議嗎? --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.170.73
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1457506517.A.0AA.html
1F:→ abola921: 像github一樣 fork 然後pull 03/09 15:06
2F:推 spjay1: git flow? master 不上commit? 03/09 15:23
3F:→ Samuel: 一樓的意思是,相當於在多一層(forked repo)把 feautre 03/09 15:34
4F:→ Samuel: branch 作的事情,放在forked repo 作,最後PR回去嗎? 03/09 15:34
5F:→ Samuel: master上commit可能是其他feature completed, merged in 03/09 15:36
6F:→ JingJing00: feature/boo_v1 feature/boo_v2 03/09 15:40
7F:→ Samuel: 樓上的意思是在 branch 內分版號蓋資料夾嗎? 03/09 15:59
8F:推 dojay: feature2 從 feature1 分支出來,兩個相 03/09 16:20
9F:→ dojay: 互 merge,最後再由 feature1 merge 回 m 03/09 16:20
10F:→ dojay: aster 03/09 16:20
11F:→ Samuel: 這樣作法讓我有點混淆,這樣feature2其實不是feature但是 03/09 16:36
12F:→ Samuel: 卻有了branch 還且還是在feature1上,而branch原因不明 03/09 16:36
13F:→ Samuel: 在圖上有會看到feature有從master來的線, 這樣很亂 03/09 16:37
14F:→ Samuel: 還是說這些動作是在 local 作,所以feature2最終只會變成 03/09 16:38
15F:→ Samuel: feature1的空降commit(相當於處理完merge master的diff) 03/09 16:39
16F:→ Samuel: 是這樣的意思嗎? 03/09 16:39
17F:→ Samuel: 這樣的話假設是以squash方式rebase(from f2 to f1) 03/09 16:40
18F:→ Samuel: 最終feature1回到master有沒有辦法處理這個commit? 03/09 16:41
19F:→ Samuel: 已經作過的commit會不會在重新算一次? 03/09 16:41
20F:→ Samuel: 如果不是squash的話那勢必與master之間的線就變成蜘蛛網了 03/09 16:42
21F:推 abola921: 參考一下 https://github.com/google/guava/pulls 03/09 18:07
22F:→ abola921: fork 像branch 但實際上完全是獨立的 repo 03/09 18:09
23F:→ abola921: 在自己的repo中改完後,到原project 提出pull request 03/09 18:10
24F:→ abola921: 大家玩法不盡相同,我是沒有再用branch了 03/09 18:14
25F:推 popcorny: merge master into feature沒有什麼不好啊.. 03/09 18:32
26F:→ popcorny: 如果你的feature branch控制得好的話.(local到remote 03/09 18:32
27F:→ popcorny: 都有rebase.. 那最後graph也只有master到feature的一 03/09 18:33
28F:→ popcorny: 條線而已.. 不會太亂啦 03/09 18:33
29F:→ popcorny: 當然通常feature也不會拉太長時間 03/09 18:33
30F:→ popcorny: 兩週差不多可以merge/rebase回master了.. 03/09 18:34
31F:→ popcorny: 就不會有需要master到feature這段了 03/09 18:34
32F:→ legnaleurc: 多人開發同一個 branch 本來就是會互相 merge 03/09 20:55
33F:→ legnaleurc: 只在意 merge graph 好不好看你就不用做事了 03/09 20:55
34F:→ Samuel: 感覺用 forked_repo + PR 比較容易達成 03/09 21:48
35F:→ Samuel: 這其實是實行 git flow 所注意到的缺點 03/09 21:49
36F:→ Samuel: git flow 上所建議的 branch 有其意義, 他可以在 rollback 03/09 21:49
37F:→ Samuel: 更能清楚的帶出 source 可以修改的方向 03/09 21:50
38F:→ Samuel: 或是要切換版本間開發有更大的彈性 03/09 21:50
39F:→ Samuel: 但「事實上」用到這些「彈性」的時機很少,甚至可以說是假 03/09 21:51
40F:→ Samuel: 議題也無妨,實務上當然是怎麼merge都可以, 甚至anti-flow 03/09 21:52
41F:→ Samuel: 直接使用master也是一種玩法! 03/09 21:53
42F:→ Samuel: 我所想要探知的是以git flow 玩feature branch 怎麼解這些 03/09 21:55
43F:→ Samuel: 問題 03/09 21:55
44F:推 abc0922001: 要merge graph一條線要幹嘛?用到SVN嗎 03/09 22:23
45F:推 abc0922001: 大家都開個新branch,統一由一個人合到master 03/09 22:30
46F:推 abc0922001: 類似這種流程 https://goo.gl/gX5sPd 03/09 22:34
47F:→ Samuel: 我原本也不在意,但在回頭看到1920解析度無法裝下git log 03/09 23:02
48F:→ Samuel: --graph 的 branch line, 切確的發現branch merge已失去意 03/09 23:03
49F:→ Samuel: 義 03/09 23:03
50F:→ Samuel: (確認我們的開發人數+branch並沒有這麼大的規模^^") 03/09 23:06
51F:→ Samuel: 這種嚴謹 merge team 似乎是個作法,但就要看規模了 03/09 23:08
52F:推 GALINE: 我的建議是: 1)研究 git 的 pretty 設定 2) 裝tig... 03/09 23:55
53F:→ GALINE: 如果 tig 下去圖還是很難讀,那感覺開發規模也不小了 03/09 23:56
54F:→ GALINE: 若功能branch只有一個人用,時常rb到master上然後force 03/09 23:58
55F:→ GALINE: push 也是解法,不過這最好搭配對 master 的保護機制,像 03/09 23:58
56F:→ GALINE: 是 gitlab 的 protected branch 03/09 23:59
57F:→ GALINE: 切 branch 除了考古方便以外,一個人同時做兩三個功能時 03/10 00:01
58F:→ GALINE: 也相對不容易搞混自己做到哪裡,可以整個環境抽換掉 03/10 00:01
59F:→ GALINE: 或是像是一邊開發新功能一邊修舊bug之類的.... 03/10 00:03
60F:推 GALINE: 另外是多人合作時,送pull request就是該code review了... 03/10 00:05
61F:→ GALINE: 這時候進 master 的意義就變成"code 有被審過" 03/10 00:06
62F:→ Samuel: 感謝建議! 我會來試試看 03/18 21:32







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP