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 的方法千奇百种,这也是这麽多种中的其中一个小点点而已。我也想要听听大家到底是如何执行远端多人合作模式的开发方式。 大家也来分享自己是如何执行远端多人合作模式的开发方式吧~ --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 95.91.246.161
※ 文章网址: https://webptt.com/cn.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