Git和GitHub的區別


一、Git和GitHub的區別
GIT:版本控制工具如:svn,git等,git是一個分布式版本控制系統
GitHub:是用於版本控制和協作的代碼托管平台,GitHub 可以托管各種Git版本庫,並提供一個web界面,GitHub上的項目都存儲在倉庫中,后者包含與項目相關聯的一切:代碼,項目參與者的信息,問題和bug報告等
簡單來說Github是代碼托管平台,是協作的工具;而Git是版本控制工具。Git不需要聯網,在本機就可以使用
 
二、Git和GitHub的作用
簡單來說就是:從主分支master中分出分支featrue,然后合並merge在一起達成代碼迭代的過程

 

三、分支概念
首先先看一下分支圖
1、master主分支
2、develop開發分支
3、release預發布分支
4、fix補丁分支(從develop分支檢出,臨時性分支)
5、hotfix熱補丁分支(從master分支檢出,臨時性分支)

 

四、GitFlow工作流程
  • 工作目錄,持有實際文件
  • 暫存區,臨時保存改動
  • HEAD,指向最后一次提交的結果
git flow
1.開發在現有master代碼上,配備一個develop分支。
$ git branch develop
$ git push -u origin develop
2.其他開發從當前倉庫中拉取代碼,並建立自己的feature開發內容
$ git clone *****
$ git checkout -b develop origin/develop
$ git checkout -b fan-feature develop
開發完成后提交至本地develop,再push到遠程
$ git add ./
$ git commit -m "test"
$ git pull origin develop
$ git checkout -b develop
$ git merge fan-feature
$ git push
$ git branch -d fan-feature
3.全部提交develop后,在其基礎上建立新版本分支
$ git checkout -b release-1.0.0 develop
4.測試通過,向master和develop提交合並,刪除個人分支fan-feature和原有的發布分支release-1.0.0,基於master基礎上打tag。備注:向master提交是必要的,但向develop提交合並也是重要過程,因為發布分支上的新功能對正在開發的功能也是有益的。
$ git checkout master
$ git merge release-1.0.0
$ git push
$ git checkout develop
$ git merge release-1.0.0
$ git push
$ git branch -d release-1.0.0
$ git branch -d fan-feature
打tag
$ git tag -a 0.1 -m 'Initial public release' master
$ git push --tags
5.線上bug修改,直接基於master基礎上新建一個分支,測試完成后合並至master及develop分支
$ git checkout master
$ git pull
$ git checkout -b issue1 master
修復bug
$ git checkout master
$ git merge issue1
$ git push
$ git branch -b issue1

 


免責聲明!

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



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