多人合作項目如何去管理git倉庫


  前記:在git之前依稀記得有SVN去管理代碼倉庫,現在多用git去管理我們的代碼;現在一般的項目大多數是多人同時開發,這樣就會存在一個問題就是如何去協調開發;這也是lz當前使用git開發管理的些許經驗,特記錄下以供參考!

  step1-------git常用命指令:

//git init     ----在本地新建一個repo,進入一個項目目錄,執行git init,會初始化一個repo,並在當前文件夾下創建一個.git文件夾.
//git clone    ----獲取一個url對應的遠程Git repo, 創建一個local copy.一般的格式是git clone [url].
//git status   ----查詢repo的狀態 git status -s: -s表示short, -s的輸出標記會有兩列,第一列是對staging區域而言,第二列是對working目錄而言.
//git log      ----查看本地分支操作記錄
//git add      ----在提交之前,Git有一個暫存區(staging area),可以放入新添加的文件或者加入新的改動. commit時提交的改動是上一次加入到staging area中的改動,而不是我們disk上的改動.
//git add .    ----會遞歸地添加當前工作目錄中的所有文件.
//git commit   ----提交已經被add進來的改動.git commit -m “the commit message"
//git push     ----提交本地分支到遠程分支
//git branch   ----git branch可以用來列出分支,創建分支和刪除分支.
//git branch -v----可以看見每一個分支的最后一次提交.
//git branch:  ----列出本地所有分支,當前分支會被星號標示出.
//git branch (branchname): 創建一個新的分支(當你用這種方式創建分支的時候,分支是基於你的上一次提交建立的). 
//git branch -d (branchname): 刪除一個分支.
//git checkout (branchname) ---切換到其他分支
//git checkout -b (branchname): 創建並切換到新的分支.
//git merge   ----把一個分支merge進當前的分支.
//git tag     ----會在一個提交上建立永久性的書簽,通常是發布一個release版本或者ship了什么東西之后加tag.
//git pull    ----git pull會首先執行git fetch,然后執行git merge,把取來的分支的head merge到當前分支
//git remote -v:可以看見每一個別名對應的實際url.
//git remote add [alias] [url]: 添加一個新的remote repo.
//git remote rm [alias]: 刪除一個存在的remote alias.
//git remote rename [old-alias] [new-alias]: 重命名.
//git remote set-url [alias] [url]:更新url. 可以加上—push和fetch參數,為同一個別名set不同的存取地址.
//git revert  ---- git revert HEAD: 撤銷最近的一個提交.   

  以上為git常用的一些命令,當然有興趣的同學可以閱覽廖雪峰的git教程;PS:lz工作中用的是sourceTree界面git管理工具;感興趣的同學可以參考這篇博文sourceTree入門

  step2------進入正題;如何多人進行開發

  首先lz展示下開發中的git倉庫分支;

  

  正如上圖lz有一個release遠程分支,這個是線上的項目分支;這里面的代碼確保是線上最新的代碼;同時,還有其他每個開發同學的對應分支,這些分支都是從release中創建出來的。每新增一個開發同學,第一件事就是從release分支上創建一個屬於自己的分支;

  比如:現在A、B同學有個需求就是添加一個首頁彈窗和新增頁面需求;我們的工作流程是如下圖:

  

  整體的流程按照如此去做即可,我們其實在項目中還會遇到一些情況,就是webpack中一些配置信息的沖突;所以我們一般是把項目分為業務負責人以及公共模塊負責人,這樣一些公共部分只有這個同學去負責人就好,其他人只需去更新自己的代碼以及業務代碼;還有一些vue項目會涉及到配置各自頁面路由時候會引起沖突;這里建議用路由合並的方法避免沖突即可;

  最后還有一點一定要求每個同學一定要做好代碼提交以及更新;不然比較頭疼,只要大家按部就班,多人開發還是比較愉快的。

  由於近期一直在思考這個項目管理的問題,所以一定要按照流程做事這樣才能提高效率;

  以上僅為個人看法,歡迎提意!

  

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM