[請益] git協同合作問題

作者: greytiger (灰色老虎)   2021-12-09 13:40:32
遇到一個情境 想請問應該如何操作

假設現在
有一個主分支release
兩個feature branch

第二個分支需要用到第一個分支部分代碼
另外一部分不能弄進來

但是因爲第一個分支還沒回release
但如果選擇了pull merge 第一個分支拉部分的code(如圖紅色的部分)
第二分支回release之後...

第一個分支去pull release的時候會造成檔案被修改或刪掉如圖藍色部分
https://i.imgur.com/hgMRn5l.jpg

紅色那塊該怎麼做呢?才不會影響到藍色部分的代碼
是不是應該pull 完第一個分支之後reset ?
作者: t64141 (榕樹)   2021-12-09 13:53:00
手動編輯將codeB 的修改搬到 BranchB,或 cherry-pick 試試?
作者: tod   2021-12-09 13:54:00
你可以cherry pick
作者: quickbym1 (張探長)   2021-12-09 13:55:00
Cherry pick Code B 的 commit
作者: abc0922001 (中士abc)   2021-12-09 14:41:00
chrry pick阿,不然就merge 再 revert 不要的 commit
作者: Petyr (小指頭)   2021-12-09 15:07:00
撿櫻桃很好用的
作者: vi000246 (Vi)   2021-12-09 15:19:00
避免用revert 到時候merge A的時候會有問題
作者: anandydy529 (AndyAWD)   2021-12-09 16:06:00
cherry-pick
作者: quickbym1 (張探長)   2021-12-09 16:14:00
對 你可以先cherry pick 好幾個回來 然後都不要 commit
作者: abc0922001 (中士abc)   2021-12-09 16:56:00
我沒想到mergeA,失策了
作者: Bencrie   2021-12-09 19:50:00
rebase -i 選你要的
作者: bill0205 (善良的小孩沒人愛)   2021-12-09 19:52:00
commit很多用rebase 一兩個commit 用chrry pick
作者: superpandal   2021-12-09 21:49:00
我會用不是git的方法解決它 做的事情愈來愈多 愈來愈不符合類unix邏輯了
作者: Mupzopod (pinballmachine)   2021-12-09 22:17:00
試試 git checkout --patch target_branch file/path--patch可以只checkout 一部分的code, 我還蠻常用的
作者: neo5277 (I am an agent of chaos)   2021-12-10 01:58:00
rebase啊 萬用解只要你可以聯絡道寫branch的人就可以當場解衝突
作者: acgotaku (otaku)   2021-12-10 11:55:00
就多開一個分支當緩衝就好拉這種情況 我不會在作業branch直接merge/rebase/撿櫻桃另外開一個branch去處理 在發mr給自己檢查 會比較安全
作者: james732 (好人超)   2021-12-10 19:38:00
rebase -i根本是神器
作者: sunsamy   2021-12-11 09:39:00
會用git當版控的聖盃通常邏輯不是很強,會在這鬼異的死循環一直無限循環下去,會一直上來po文問,又解決不了問題唯一的解法是:幹掉產生問題的工具-->git. 不能再多說了懂的就懂,不懂的就一輩子一直詭異下去吧
作者: jhjhs33504 ( )   2021-12-11 16:40:00
飢餓遊戲git開發者的惡趣味若權責沒分配好加班加到爆~
作者: JustInn (就是硬)   2021-12-11 22:22:00
推樓上,我公司技術魔人一直在推,結果搞到最後難看收拾
作者: brucetu (sec)   2021-12-13 15:56:00
其實git真的滿囉嗦 但沒辦法大家都用
作者: newhandfun (新手方)   2021-12-14 23:19:00
敢問前幾樓有什麼更好的版控工具?可以分享一下嗎?
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2021-12-15 08:28:00
有時候覺得git不好用是開發流程沒那個需求。當有一堆要分階段上版的功能待測試,同時又有產品要fix bug更新,沒有git配合ci/cd還不知道要怎麼測。
作者: b524524778 (幹水壩倒了)   2021-12-15 18:55:00
是說 release當主幹道是認真的嗎
作者: afu4869 (阿福)   2021-12-16 13:57:00
我個人想不到比git還強大的版控就是了QQ然後樓上大大的推文才讓我想到 如果有個dev branch 然後用force push/merge/cherry-pick去控制release branch是不是會比較好 整個結構應該有優化空間
作者: turtleman (★☆特透麵☆★)   2021-12-16 18:10:00
除了Git 還有什麼好用的版控呀?
作者: abc1689217 (臥)   2021-12-16 21:13:00
同問,如果開發流程很複雜,還有哪套比 git 好用?
作者: abc0922001 (中士abc)   2021-12-23 17:19:00
現在大概都是 Git 的天下了吧同類型的有 Mercurial,不過沒用過,可以試試看
作者: cathychg (凱西)   2020-02-09 12:20:00
版控 。 時間 地點 誰幹的!!!

Links booklink

Contact Us: admin [ a t ] ucptt.com