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