[請益] git rebase的問題
各位好
本人在近來在公司需要將專案中某個pull request的commit統合成一個
下圖為pull request,本公司用的是bitbucket
我看了一些網路教學和youtube,仍然想不出解法。我的做法如下:
先在local的branch中執行git rebase -i HEAD~5
在interactive mode中將之前5個commits壓成一個
有時會執行完後會出現conflict。將conflict resolve後使用以下指令push到remote
git push <local_branch>:<remote_name> -f
然而,push 之後,不僅失敗,我看到的還是pull request被decline:
如果我要re-open這pull request,則會出現以下error:
我的mentor是和我說,如果bitbucket的pull request出現大變動時,會自動decline
必須要重新push最新的commit才能解開
請問版上有沒有大神能指點我如何合併bitbucket中遠端pull request的commit?
問題描述不清楚的地方我會再補充,謝謝!
--
Push -f ?
整合一個commit squash 我都用這個
push 後的錯誤訊息是什麼?
記得本地端沒有看到錯誤,remote端才有出現decline
一個一個應該用squash吧?不太建議rebase public
用squash 他就會幫你自動內部rebase了
不懂,我在git rebase的裡用的是squash啊(第二張圖)
所以 push 沒錯誤,只有 or 被拒絕,而且是說 merge 的 ta
rget branch 跟 source 一樣新?要不要檢查一下是不是 reb
ase 的時候出問題了?
但是為什麼 rebase 過的 branch 可以推上去?應該要被 dec
line 才對
加上 -f 後能push,不過會容易被decline 我大致上follow這個影片的做法
https://www.youtube.com/watch?v=8j0H6urZ-bU&t=64s
啊,我內文沒寫到,如果用rebase "只"合併兩個local的commit的話再push的話,有時卻 會成功,怪哉!
另外 squash 出現 conflict 是不是有調整 commit 順序?還
是 rebase 的頭跟 PR 裡的不一樣?如果直接 pull PR 裡的
branch,直接 rebase,應該不會有衝突,這部分是怎麼做的
?
換句話說是怎麼把 PR 裡的 commit 撈下來的
我是git pull <remote name> <remote branch>,和你說的一樣
你要不要先開個branch把會衝突的先merge
不然squash 後產生conflict 不是好事
我是用vs code的在做,有看到conflict的話用滑鼠選一選就可以解 我目前還在用簡單的testcase在試.....
※ 編輯: VivianAnn (108.254.89.199 美國), 03/15/2022 14:00:25先都用 cli 不要用 vs code,才可以確定打的指令
git pull
git rebase -i (不應該有衝突,有衝突的話可能是解衝突解
錯)
git push origin new_branch (推到新的 branch 不要推到
原本的、不要用 -f)
開新的 PR
這不行,我們公司的人都在PR中討論,相當於一個討論串,不能一直開新的
有衝突的話不是衝突解錯,是步驟有錯 XDDD 剛剛在講三小
你的pull request怪怪的
你為何不叫你mentor幫你...
mentor要我自己先研究
自己開一個repo在bitbucket練一下不就好了
有啊
bitbucket有設定branch能不能被force update
五樓的意思是 bitbucket可以直接幫你做這件事
pr過了merge以後就會只有一個commit
你不需要先在local squash, merge之後只有一個commit
會出現在你的目標branch
1. 檢查你的bitbucket remote branch是不是protected
2. pr取消正常 因為commit不同了
3. 你reopen失敗的原因應該是你推錯branch
mentor跟我說PR取消是因為有drastic change,re-open方面是要原本branch的內容再 push一次才能點,這真的不知道為啥
branch不給force update的話,那就不能rebase+squash了?
都忘記 merge 可以 merge squash 了
local rebase 完以後推新的 remote branch, 不要用-f
覆寫掉原本那條, 除非確定那條只有你在用, 推上去後在
用新建的 remote branch 發PR 到 master branch 並設定
squash merge 應該可以解掉你提到的問題~
重看一次發現我理解錯你的問題, -f 被拒感覺跟bitbucke
t branch permission 設定比較有關
我問過同事,會這樣可能是因為要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再說一次,rebase squash 只要沒有動 commit 的順序就不應
該衝突
不過都 force push 了除非會 reflog 不然應該沒救了,找 m
entor 救你吧
不應該 conflict,應該是哪裡有操作錯誤
爆
[問卦] slow:我發現這人出現在我臉書牆上楊蕙如 FB (刪) 昨天問了一圈才發現一堆朋友都不知道怎麼認識他的,然後都以為他跟身邊的那些公眾人 物很熟。爆
[問卦]派愛族(pairs)使用一個月後的感想,燒錢之前講了一款JD燒錢又只能把裡面的女人當女皇一樣對待 在那邊參加女性發起的約會都是你要付錢,很多女人都是蹭免費大餐 另外一位鄉民已經親身說明他靠著帥氣照片,讓開約的女性挑選中勝出 最後結果是他看到龍,藉著尿遁付完錢就跑了。就結果來說JD的女性還是賺到 現在來說說派愛族這款,因為我說也有購買,鄉民私底下就問我使用感想爆
[心情] 我已經不知道該怎麼辦了以下是我的回覆 因為編輯文章失敗,直接截圖文字 謝謝大家~ 目前懷孕28w爆
[心得] 我是智力測驗作者今天蠻多人再討論我的那篇文章 先說 如果看我那篇進場的人 我非常抱歉 我這裡跟你說對不起 但是我要說明幾點: 第一:我文章並沒有說我看多看空35
[求助] 是我的問題嗎?跟男友交往半年多 我24 在工作了 男友22 大學生 事情就發生在剛剛 今天上班很累27
[問掛]我有交往七年的女友,家人要我多交女友抱歉啊,不會發文,已改類別,謝謝通知,紅的明顯我看的到 小弟今年32歲,有交往七年的女友,不過我們是遠距離交往 我在北部,她在南部 前年的時候,剛好她要找工作,我想說可以來北部一起生活 結果,是惡夢的開始29
[心得] MIT 6.824 lab心得之前看到有人po國外CS的公開課,剛好最近把MIT 6.824的lab都寫完了,來分享一下心得。 希望下面的心得可以幫助在寫lab的人與讓更多人一起來寫lab:-) Q1: 這堂課與其他分散式系統的課差在哪裡? 一般的課就是把分散式的手法與概念介紹過去,像lamport clock, raft, 各種consistency。 6.824每堂課都是由一篇又一篇的paper組成,帶大家去看遇到的問題是什麼,他們是怎麼處理的、優缺點是什麼。1X
[爆卦] 我曾經是真正的中共同路人我在2003至2012年間,曾經參加過中國共產黨在台灣的外圍組織-勞動黨-。我輕信了牠們 自稱讓世界變的更公平的謊言,參加許多牠們的活動。後來我發現牠們只是利用人們的信 任來奴役人的人皮惡魔,於是先後在2013年寫了上中下三篇和2014年再一篇,共四篇臉書 網誌揭發牠們。一方面是劃清界線,一方面也是希望能避免更多人受害,內容如下: 爭權奪利的理想主義者之一 ~ 勞動黨一區黨部的實態(上)1
[問卦] 欸欸,git好用欸!最近學了一點git 雖然還不會合併 但是 哇! 光是版本管理就很爽惹