手把手教你怎样简单利用GitHub实现合作开发(Mac)
生活随笔
收集整理的這篇文章主要介紹了
手把手教你怎样简单利用GitHub实现合作开发(Mac)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
- 之前對于GitHub完全是當作一個存代碼的遠程倉庫,或者是一個參考別人代碼的網站
- 這篇文章可以看作GitHub進階,告訴你如何建立分支,合并代碼,與別人合作開發
參考文章
- GitHub 的 Fork 是什么意思?
- Mac顯示隱藏文件快捷鍵
- Mac OS X下的Oh-My-ZSH安裝與配置
- iOS git提交時忽略頻繁更新的UserInterfaceState.xcuserstate文件
- Git 忽略文件 UserInterfaceState.xcuserstate
前期準備
- 簡單的如何上傳代碼,可以看我的這篇博客
- 下載oh my zsh:
- oh my zsh是終端的一個插件,使用它在操作時可以更加方便
- 這篇文章的操作截圖都將是使用oh my zsh后的效果
- 終端輸入:
- 建議將finder上的所有隱藏文件全部顯示出來
預備知識
- 首先Xcode自帶git,所以學會合作開發后,Xcode會開始展示他強大的一面
- 我們要明白幾個概念:
- 倉庫:倉庫是存放所有代碼的地方
- 分支:
- 分支首先有默認的主分支:master,所有最后的代碼都要并到主分支
- 另外就是你可以建立自己的分支,在上面寫自己的代碼
- 所謂合作開發,其實就是你在你的分支開發,別人在別人的分支開發,最后都要合并到主分支
- fork:
- fork別人的倉庫實際上相當于克隆了別人的倉庫,可以這么理解,git clone指令是把別人的倉庫克隆到本地,而fork確是將倉庫在遠程clone下來。
- 所以fork之后你也有了這樣一個倉庫,但并不是意味著你就能和別人同步開發了
先邀請你的伙伴吧
- 假設A, B, C三個人一起合作開發,首先是A在GitHub上建立了一個倉庫叫Cooperative-Learning
- 接下來到倉庫主界面點擊contributor可以查看所有參與者,當然現在只有一個人
- 想要讓其他人參與到這個倉庫的代碼合作上來需要點擊settings,再點擊左側的Collaborators,此時輸入密碼
- 輸入完你的密碼后就可以拉人了,根據別人的用戶名,郵箱搜索到這個人,然后向他發出邀請
- 假設A向B發出了邀請,而要接受邀請卻并不是在GitHub上接受,這一點真的很值得吐槽,B要登陸自己注冊GitHub的郵箱接受邀請(如果是QQ郵箱的話當然要記得是在PC端使用啊)
- 此時回到contributors界面就會發現多了一個人了(這是我之前的倉庫,大家get到意思就行)
首先當然在本地搞出我們的git
- 這個步驟不同的人都會不一樣,我的習慣是新建一個文件夾取名為倉庫名+Demo
- 然后打開terminal
- cd + 上面的文件夾路徑來進入該文件夾
- 復制我們新建倉庫的SSH路徑
- 輸入g clone + SSH路徑
- 比如我們輸入g clone git@github.com:KevinAshen/Cooperative-Learning.git
- 此時就會出現一個倉庫文件夾,里面應該有一個.git文件(隱藏文件)以及一個ReadMe
- 下一步切記:一定要在終端cd到那個倉庫文件夾里!!!(可以看如果前面顯示終端名master的話說明已經進入正確位置)
- 此時,我們有了本地的倉庫了,該倉庫已經和GitHub上的遠程倉庫鏈接
- 我們其實每次敲代碼都是在本地倉庫里,然后要將他上傳到遠程倉庫,包括我們進行的分支切換都是本地的,這里其實已經包括了一個隱患,下面會提到
一人建一個分支嘍
- 現在A需要修建自己的分支來作為自己代碼的分支
- 指令:git checkout -b 分支名 (checkout是跳轉分支,加上-b代表如果不存在直接新建)
- 比如我們輸入git checkout -b branchA
- 所謂切換分支其實在某些角度上就意味著是一個新的倉庫了,比如你在主分支里新建了工程,不做任何操作,直接切換到另一個分支,該工程在文件夾里直接沒了,而你沒有保存,在你返回主分支的時候它也不會出現,可能你一整天的工作都白費了
- 但是也不用太擔心,git如果你沒做好保存工作會阻止你的自取滅亡行為
- 此時就是安裝oh my zsh的好處了 你能直接看到自己目前所在分支
- 現在,我們打開在這里直接新建工程
- 為了讓任何一個人都看得懂,我新建的是一個C語言工程,讓哪怕不是學習iOS開發的也看得懂
新建工程+簡單的上傳指令
- 我們打開Xcode,在本地倉庫新建一個C語言工程,取名為Cooperative-LearningTest
- 此時我們還是在branchA分支哦,牢記
- 任何人,任何時候都不應該對master分支下建工程,寫代碼,而是應該在自己對分支寫,最后合到主分支,很重要很重要
- 然后打開終端,輸入g status (查看倉庫狀態)
- 這條指令極其有用,如果你追求謹慎的話,應該在每一個操作到前后都輸入這條指令,查看狀態,小心駛得萬年船,一旦刪庫就GG
- 這個時候會羅列出你到等待提交的新文件有那些那些
- 使用add指令將這些添加到待提交區(自己取得名字。。。)
- g add . 會讓所有為提交文件都被添加,也可以g add + 文件路徑來提交個別的
- 為什么不直接所有都上傳,因為可能有的代碼你才寫了一半不想直接上傳
- 如果這種情況的話,可以使用git stash //保存工作現場
- 比如我在這個工程里寫點代碼,此時使用git status查看狀態,會顯示該文件modified(已修改)
- 之后使用git stash代碼,你之前寫的在編譯器上都看不到了,算是被暫存了,可以使用git stash list查看,用git stash pop取出來
- add后下一步是commit
- git commit -m “提交備注”
- commit等于是將等待區的代碼提交到本地倉庫
- commit之后就是push
- git push origin + 分支名
- 此時就是git push origin branchA(這里很關鍵,如果你習慣使用GitHub提交代碼,就是沒試過合作開發,那這里你會很習慣的打出git push origin master,依然牢記一個原則,絕對絕對不要在master分支進行操作)
- push相當于就是把遠端
總結
以上是生活随笔為你收集整理的手把手教你怎样简单利用GitHub实现合作开发(Mac)的全部內容,希望文章能夠幫你解決所遇到的問題。