1. 程式人生 > >Git+Github協作開發流程

Git+Github協作開發流程

申請 屬性 克隆 協作 bsp 新的 操作 upload 內容

  • 采用合作開發者的方式進行協作開發,下面以zlcook和zlserver合作開發iqas-ios-record項目為例進行講解,zlcook為項目創建者,zlserver為項目參與者。協作開發步驟如下:

1.建立協作開發關系

1.項目創建者zlcook在github創建項目iqas-ios-record

技術分享圖片 Paste_Image.png

2.zlcook為項目iqas-ios-record添加合作開發者zlserver

  • 搜索zlserver,點擊Copy invite link復制鏈接,將該鏈接發送給zlserver。(QQ或者微信whatever)


    技術分享圖片 Paste_Image.png

3.zlserver登錄賬號後,點擊zlcook發過來的邀請鏈接,點擊接收邀請

  • 技術分享圖片 Paste_Image.png

4.zlserver接收邀請後,zlserver也可以向該項目提交代碼了。合作關系正式建立。

  • 技術分享圖片 Paste_Image.png

2.zlserver克隆項目並導入eclipse

  • zlserver在進行開發前需要先從github上clone下項目,然後在導入eclipse,在eclipse中進行開發。

1.zlserver在本地clone下項目

  • 技術分享圖片 clone地址
技術分享圖片
clone命令

2.將clone下來的iqas-ios-record導入eclipse
iqas-ios-record是maven結構所以導入選擇maven項目


技術分享圖片 導入maven項目

3.導入eclipse後如果有錯,則修改

技術分享圖片 Paste_Image.png
  • 錯誤原因:導入後默認采用jdk1.5編譯,和jdk1.5依賴。1.右擊項目屬性->javaCompiler選擇jdk1.7。2.右擊項目屬性-》Java Builder Path去掉jdk1.5依賴選擇jdk1.7。
  1. iqas-ios-record是個web項目,右擊-》run As下如果沒有Run on server,則設置如下:
    右擊項目屬性->ProjectFactes:
  • 技術分享圖片 Paste_Image.png
技術分享圖片 Paste_Image.png

點擊ok後,再次右擊項目屬性->選擇Deployment Assembly


技術分享圖片 Paste_Image.png

3.zlserver進行開發

  • zlserver每 次開發新功能的步驟(以下步驟都是在git命令行中進行):
    在主分支master上新建分支featurexxx,切換到新分支featurexxx,在featurexxx分支上進行開發(在eclipse中開發)。開發完成,提交代碼,切換回master分支,下拉(pull)遠程分支到master分支上,master和featurexxx分支進行合並,合並出現沖突則修復,修復沖突完成後,再把修改的數據提交。合並沒有沖突或沖突已被解決則push master分支到遠程分支。刪掉分支featurexxx。下次開發新功能從頭開始。

  • 查看倉庫狀態命令git status

  • 實際操作:

  • 1.新建分支feature_zlserver,切換分支feature_zlserver


    技術分享圖片 新建分支feature_zlserver,切換到feature_zlserver分支
  • 2.在eclipse中修改代碼
    在eclipse中修改了iqas-ios-record項目的pom.xml文件。現在要開始提交。

  • 3.添加修改,提交修改


    技術分享圖片 添加修改,提交修改
  • 4.切換回主分支,下拉(pull)遠程分支到master分支上


    技術分享圖片 切換回主分支,下拉遠程分支
  • 5.合並feature_zlserver分支
    這一步過後,master分支上的內容就包含了feature_zlserver分支上新增的內容了。

    技術分享圖片 合並feature_zlserver分支
    註:該步驟可能會產生沖突,如果產生沖突需要解決完沖突才能進行下一步

  • 6.提交master分支代碼到遠程分支


    技術分享圖片 提交master分支代碼到遠程分支
  • 7.刪除feature_zlserver分支,從頭開始。
    經過第6步,說明我們開發的新功能已經合並到master分支上了,並且和遠程分支保持了一致。這時就刪除掉feature_zlserver分支,下次在新建一個分支開發新的功能。新分支名稱最好和要開發的功能相關。


    技術分享圖片 刪除feature_zlserver分支

4.查看項目在遠程服務器上部署成功與否

  • zlserver寫完代碼,並且提交到github上了,任務完成了,那麽寫的代碼到底部署到實際生產環境中成功沒有?就需要查看jenkins中關於iqas-ios-record項目的集成情況。
  • 這一步其實可以通過郵箱通知。但是沒有給zlserver配置郵箱,所以只能自己到jenkins上查看提交代碼的集成情況。
  • jenkins會自動查看github的上iqas-ios-record項目的源碼狀態,如果發現有更新就會下拉最新的代碼進行部署。(但是也不會立即執行,所以需要手動讓jenkins對最新的代碼進行構建和部署)
  • jenkins在服務器上的訪問地址:http://172.19.201.155:8093/
    訪問密碼:問我
  • 手動點擊項目進行構建 (註:這一步需要讓jenkins所在服務器鏈接網絡,即老師申請的服務器用一個人賬號登陸校園網,讓其可以從github上下載代碼
    技術分享圖片 Paste_Image.png
  • 構建執行狀態
技術分享圖片 Paste_Image.png
  • 構建失敗
    紅色指示燈表示構建失敗,失敗原因主要:沒有網絡、代碼出錯。


    技術分享圖片 Paste_Image.png
  • 查看構建失敗或成功結果


    技術分享圖片 Paste_Image.png
  • 構建成功
    藍色指示燈表示構建成功


    技術分享圖片 Paste_Image.png

5. 訪問

經過第4步保證了咱們的修改的代碼被成功部署了,下面就 通過瀏覽器來查看效果。


技術分享圖片 Paste_Image.png

作者:zlcook
鏈接:https://www.jianshu.com/p/85cb197cb125
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並註明出處。

Git+Github協作開發流程