Soft_Job 板


LINE

原文同時刊登於:https://goo.gl/hrB1R2 [先說] 這純屬是我個人以及工作上開發專案的經驗,主要是希望透過分享推坑大家多多使用 git 提供的 remote 功能,如果你現在正在使用 git remote 或執行 git remote 後得到除了 origin 的字樣、不是使用 GitHub/Bitbucket/… 來放置你的專案、你是進階神等級 git 的使用者的話,那你可以直接跳過這篇,又或是閱讀後 補充 糾正 錯誤的使用觀念。 [從前] 我在 GitHub 上開發專案目前為止遇過以下兩種情境 情境一:我擁有專案的所有權(Owner/Member/Collaborator 的概念),不需要得到任何人的同意(或者是與所有開發者們達到共識),能夠新增刪除修改說有自己正在負責的功能分支(Branch)。 情境二:我沒有專案的所有權,但我有該專案的讀取權限(Read Only),要修改任何原專案的內容就得下載分支專案(Forked Repo)並提交 PR。這就是一般在 GitHub 上開發 Open Source 的流程。 一開始開發公司專案的時候,就直接採用情境一,反正公司專案開發的人不就我們這幾位,直接開發就好啦何必搞得那麼複雜制定一些規則,大家使用得開心最重要。過了幾個月後,偶然之下打了這句 git branch -a,我就開始捏上眼睛一個一個找到底我的分支叫哪個名字,大家取的名字風格都不太一樣讓我找得更加困難。 說到這裡,我們規定一個分支名字的規則吧,再來規定何時把分支移除等等的。可是說實在這沒有解決我們的問題,git branch -a 還是印出一大堆無理取鬧的名稱。再後來,公司導入 CI 環境整合測試,每動輒一個分支 CI 就會跑一遍,可想而知 CI 的負擔有多大。 那好,我們來採取第二個情境,你愛怎麼取分支的名稱也沒人可以拒絕,你胡亂 commit 也沒關係只要在最後送上 PR 的時候是乾乾淨淨文字敘述清楚就好了,這時候 CI 只需要跑一次檢查這一個 PR 即可。 流程大概是這樣, 在 GitHub UI 上點 forked 按鈕選擇自己的帳號、到自己的 repo 頁面取下 git 連結並 git clone 到自己的電腦、開了分支並 commit push、最後到 GitHub UI 上點選 Pull Request 送上自己的成果到原專案。 其實說到這裡我並還沒有 git remote 的概念,而是完全透過 GitHub UI 提供的功能來達成情境二,但有些問題一直困擾著我, 我需要同步原專案的 master 到我的分支、 我需要從原專案的 A 分支繼續開發並開新的分支 B、 我需要從同事 C 那取分支 D(C 分支尚未合併在原專案內) 我嘗試了很多方法有時成功有時失敗,直到我開始了解 git remote,才發現這才是真正使用情境二遠端多人合作模式下真正該有的樣子啊。 [一步一步使用 Git Remote] git clone <你已經 forked 好的 git 專案> git remote add <remote 名稱> <專案網址> 把 remote 專案 fetch 下來 git fetch <remote 名稱> 同步原專案的 master 到我的分支 git pull <remote 名稱> master 我需要從原專案的 A 分支繼續開發並開新的分支 B git checkout -b B <remote 名稱>/A 檢查所有 remote 的專案使用名稱和網址 git remote -v 官方文件 https://git-scm.com/docs/git-remote 其實不多,就只有這樣而已… [最後] 老實說,你用情景二一定會有機會搭配到 git remote 就是了 其實不管你用哪種方法都行,找到最適合自己或者團隊的開發模式即可。但如果有一個大家都能夠接受且解決現有問題的方法,把他學起來並且實用他,這是一種對於使用工具尊重的哲學概念,不好好地使用它就無法達到使用該工具的最佳效益。 使用 git GitHub 的方法千奇百種,這也是這麼多種中的其中一個小點點而已。我也想要聽聽大家到底是如何執行遠端多人合作模式的開發方式。 大家也來分享自己是如何執行遠端多人合作模式的開發方式吧~ --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 95.91.246.161
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1501405328.A.6EC.html
1F:推 now99: 推 07/30 19:10
2F:→ dreamnook: 多點說明都是好事 07/30 20:21
3F:推 evan176: 推 07/30 22:19
4F:→ kiki86151: 有git rebase可以用 07/30 23:48
5F:推 Napoleon: push 07/31 04:24
6F:推 JackLeeing: 推! 07/31 08:07
7F:推 content71: 推 08/02 11:44
8F:推 gitignore: 也不要忘記我 08/31 03:19
樓上 ^o^ ※ 編輯: huei90 (80.153.167.195), 09/12/2017 18:51:32







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

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

TOP