iT邦幫忙

0

Git取得別分支的Commit

  • 分享至 

  • xImage

最近開始學習用Git,想請教各位前輩如果遇到以下狀況建議的做法是甚麼?

主分支master
需要通過code review才能將分支merge回master

同事a 從master開a分支
同事b 從master開b分支

如果a跟b都會用到同個共用方法sayHello
開發的時候 a寫了sayHello方法在a分支上面
那b在開發階段要怎麼才能用a分支上sayHello的方法?

現在想法是merge a的commit到b

但若加入c同事開發c分支,開發會呼叫a分支、b分支的方法那他就要merge a跟b回自己的分支

請問這樣會不會造成分支圖混亂? 還是前輩們有更好的做法?

謝謝解答


更新後續

eddiechang4507前輩提供的作法可行

但最後決定a,b,c同事都在develop分支上開發,這樣子的作法較適合現階段開發

看更多先前的討論...收起先前的討論...
fillano iT邦超人 1 級 ‧ 2022-01-21 13:28:47 檢舉
各自merge來merge去不好吧,一律從master來,merge回master。merge的時候自然會解決問題。
deh iT邦研究生 1 級 ‧ 2022-01-21 13:30:03 檢舉
有很多種操作可選。關鍵字git flow。不一定要全搬
fillano iT邦超人 1 級 ‧ 2022-01-21 13:32:20 檢舉
我們是用一個develop分之來統合所有開發,在視發行版本的需求merge到master。然後本地端就自己開分支,做完就merge(或rebase)回develop,有衝突就解衝突然後commit,從來不會去管別人local分支有什麼。
wjing iT邦新手 1 級 ‧ 2022-01-24 09:18:32 檢舉
感謝兩位前輩的回答~

最後決定採用跟fillano前輩類似的做法!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
eddiechang4507
iT邦新手 4 級 ‧ 2022-01-21 13:34:38
最佳解答

a同事的a分支上 commit a9daed1
b同事的b分支上 commit b9daed1
b在開發階段如果要使用a同事的commit
可以使用cherry-pick
切換到b分支
git cherry-pick a99daed1
並且在commit提交上去即可 (有衝突需處理)
此時 b同事的b分支上 commit會更新 b9daed2
c同事如果從master切出來想要使用a、b方法
也是cherry-pick a、b的commit即可
當然如果他是剛切出來的新分支 直接 merge b分支即可

wjing iT邦新手 1 級 ‧ 2022-01-24 09:55:46 檢舉

感謝提供解答! 試過可行~ 後來決定a, b, c同事都開發在develop的分支

0
Samuel
iT邦好手 1 級 ‧ 2022-01-22 12:34:48

電腦環境上配置

git  config   --global   user.name  "你的名字"
git  config  --global  user.email  "你的電子郵件"

列出目前電腦上git配置設定參數

git config --list 

針對user name印出

git config user.name

針對email印出
git config user.email

通常起手式
要馬自己建立repository
要馬Clone(複製)別人的 Repository

首先要針對自己的branch clone下來的操作

git clone --branch <branchname> <remote-repo-url>

git clone -b <branchname> <remote-repo-url>

假如有四個分支

git clone --branch {分支名稱1} https://XXXXXXXX.git
git clone --branch {分支名稱2} https://XXXXXXXX.git
git clone --branch {分支名稱3} https://XXXXXXXX.git
git clone --branch {分支名稱4} https://XXXXXXXX.git

比方我要取我的分支下來做後續程式開發

git clone --branch KuanYu https://XXXXXXXX.git

若要顯示當前的local端分支

git branch

若要顯示remote端分支

git branch -r

若要把所有分支(包含remote跟local)顯示出來則可下

git branch -a

https://coolmandiary.blogspot.com/2021/10/gitlabgit.html

我要發表回答

立即登入回答