Soft_Job 板


LINE

各位好 本人在近來在公司需要將專案中某個pull request的commit統合成一個 下圖為pull request,本公司用的是bitbucket https://ibb.co/6gWQPnf 我看了一些網路教學和youtube,仍然想不出解法。我的做法如下: 先在local的branch中執行git rebase -i HEAD~5 在interactive mode中將之前5個commits壓成一個 https://ibb.co/VDqvhxv 有時會執行完後會出現conflict。將conflict resolve後使用以下指令push到remote git push <local_branch>:<remote_name> -f 然而,push 之後,不僅失敗,我看到的還是pull request被decline: 如果我要re-open這pull request,則會出現以下error: https://ibb.co/sV8P4dW 我的mentor是和我說,如果bitbucket的pull request出現大變動時,會自動decline 必須要重新push最新的commit才能解開 請問版上有沒有大神能指點我如何合併bitbucket中遠端pull request的commit? 問題描述不清楚的地方我會再補充,謝謝! --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 108.254.89.199 (美國)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1647318677.A.7C0.html
1F:推 xxi511: Push -f ? 03/15 12:38
我有加-f,忘了寫了
2F:推 godddddd: 整合一個commit squash 我都用這個 03/15 12:55
3F:→ ChiuTW: push 後的錯誤訊息是什麼? 03/15 12:57
記得本地端沒有看到錯誤,remote端才有出現decline
4F:推 wulouise: 一個一個應該用squash吧?不太建議rebase public 03/15 13:03
5F:推 acgotaku: 用squash 他就會幫你自動內部rebase了 03/15 13:09
不懂,我在git rebase的裡用的是squash啊(第二張圖)
6F:→ ChiuTW: 所以 push 沒錯誤,只有 or 被拒絕,而且是說 merge 的 ta 03/15 13:26
7F:→ ChiuTW: rget branch 跟 source 一樣新?要不要檢查一下是不是 reb 03/15 13:26
8F:→ ChiuTW: ase 的時候出問題了? 03/15 13:26
9F:→ ChiuTW: 但是為什麼 rebase 過的 branch 可以推上去?應該要被 dec 03/15 13:28
10F:→ ChiuTW: line 才對 03/15 13:28
加上 -f 後能push,不過會容易被decline 我大致上follow這個影片的做法 https://www.youtube.com/watch?v=8j0H6urZ-bU&t=64s
啊,我內文沒寫到,如果用rebase "只"合併兩個local的commit的話再push的話,有時卻 會成功,怪哉!
11F:→ ChiuTW: 另外 squash 出現 conflict 是不是有調整 commit 順序?還 03/15 13:31
12F:→ ChiuTW: 是 rebase 的頭跟 PR 裡的不一樣?如果直接 pull PR 裡的 03/15 13:31
13F:→ ChiuTW: branch,直接 rebase,應該不會有衝突,這部分是怎麼做的 03/15 13:31
14F:→ ChiuTW: ? 03/15 13:31
15F:→ ChiuTW: 換句話說是怎麼把 PR 裡的 commit 撈下來的 03/15 13:32
我是git pull <remote name> <remote branch>,和你說的一樣
16F:推 acgotaku: 你要不要先開個branch把會衝突的先merge 03/15 13:42
17F:→ acgotaku: 不然squash 後產生conflict 不是好事 03/15 13:43
我是用vs code的在做,有看到conflict的話用滑鼠選一選就可以解 我目前還在用簡單的testcase在試..... ※ 編輯: VivianAnn (108.254.89.199 美國), 03/15/2022 14:00:25
18F:→ ChiuTW: 先都用 cli 不要用 vs code,才可以確定打的指令 03/15 14:20
19F:→ ChiuTW: git pull 03/15 14:20
20F:→ ChiuTW: git rebase -i (不應該有衝突,有衝突的話可能是解衝突解 03/15 14:20
21F:→ ChiuTW: 錯) 03/15 14:20
22F:→ ChiuTW: git push origin new_branch (推到新的 branch 不要推到 03/15 14:20
23F:→ ChiuTW: 原本的、不要用 -f) 03/15 14:20
24F:→ ChiuTW: 開新的 PR 03/15 14:20
這不行,我們公司的人都在PR中討論,相當於一個討論串,不能一直開新的
25F:→ ChiuTW: 有衝突的話不是衝突解錯,是步驟有錯 XDDD 剛剛在講三小 03/15 14:27
26F:推 honochung: 你的pull request怪怪的 03/15 15:06
27F:→ MoonCode: 你為何不叫你mentor幫你... 03/15 15:44
mentor要我自己先研究
28F:→ MoonCode: 自己開一個repo在bitbucket練一下不就好了 03/15 15:45
有啊
29F:→ alan5: bitbucket有設定branch能不能被force update 03/15 16:23
30F:→ alan5: 五樓的意思是 bitbucket可以直接幫你做這件事 03/15 16:28
31F:→ alan5: pr過了merge以後就會只有一個commit 03/15 16:28
32F:→ alan5: 你不需要先在local squash, merge之後只有一個commit 03/15 16:30
33F:→ alan5: 會出現在你的目標branch 03/15 16:30
34F:→ alan5: 1. 檢查你的bitbucket remote branch是不是protected 03/15 17:12
35F:→ alan5: 2. pr取消正常 因為commit不同了 03/15 17:14
36F:→ alan5: 3. 你reopen失敗的原因應該是你推錯branch 03/15 17:16
mentor跟我說PR取消是因為有drastic change,re-open方面是要原本branch的內容再 push一次才能點,這真的不知道為啥
37F:推 TheWhack: branch不給force update的話,那就不能rebase+squash了? 03/15 17:28
38F:→ ChiuTW: 都忘記 merge 可以 merge squash 了 03/15 21:00
39F:推 mike8469: local rebase 完以後推新的 remote branch, 不要用-f 03/15 22:06
40F:→ mike8469: 覆寫掉原本那條, 除非確定那條只有你在用, 推上去後在 03/15 22:06
41F:→ mike8469: 用新建的 remote branch 發PR 到 master branch 並設定 03/15 22:06
42F:→ mike8469: squash merge 應該可以解掉你提到的問題~ 03/15 22:06
43F:→ mike8469: 重看一次發現我理解錯你的問題, -f 被拒感覺跟bitbucke 03/15 22:20
44F:→ mike8469: t branch permission 設定比較有關 03/15 22:20
我問過同事,會這樣可能是因為要rebash的commit有衝突到 同事的做法是用git reset --soft來分解之前有衝突的commit,在local重新commit一次 再git rebase,再git push -f 到PR的branch ※ 編輯: VivianAnn (108.254.89.199 美國), 03/16/2022 11:56:58
45F:→ ChiuTW: 再說一次,rebase squash 只要沒有動 commit 的順序就不應 03/17 10:18
46F:→ ChiuTW: 該衝突 03/17 10:18
47F:→ ChiuTW: 不過都 force push 了除非會 reflog 不然應該沒救了,找 m 03/17 10:21
48F:→ ChiuTW: entor 救你吧 03/17 10:21
49F:推 xluds24805: 不應該 conflict,應該是哪裡有操作錯誤 03/26 23:44







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燈, 水草

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

TOP