git工具使用說明


一、什么是git?

     Git是分布式版本控制系統
      概念:
  • 工作區:就是你在電腦里能看到的目錄;
  •  暫存區:一般存放在(.git/index)中,所以我們把暫存區有時也叫作索引(index);
  •  版本庫:工作區有一個隱藏目錄.git,這個不算工作區,而是Git的版本庫發布管理;

二、集中式vs分布式

  • 集中式版本控制系統,版本庫是集中存放在中央服務器的,而干活的時候,用的都是自己的電腦,所以要先從中央服務器取得最新的版本,然后開始干活,干完活了,再把自己的活推送給中央服務器。中央服務器就好比是一個圖書館,你要改一本書,必須先從圖書館借出來,然后回到家自己改,改完了,再放回圖書館。
  • 集中式版本控制系統最大的毛病就是必須聯網才能工作;
  • 分布式版本控制系統根本沒有“中央服務器”,每個人的電腦上都是一個完整的版本庫:
          這樣,你工作的時候,就不需要聯網了,因為版本庫就在你自己的電腦上。既然每個人電腦上都有一個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了文件A,你的同事也在他的電腦上改了文件A,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。
         和集中式版本控制系統相比,分布式版本控制系統的安全性要高很多,因為每個人電腦里都有完整的版本庫,某一個人的電腦壞掉了不要緊,隨便從其他人那里復制一個就可以了。而集中式版本控制系統的中央服務器要是出了問題,所有人都沒法干活了。
         在實際使用分布式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在一個局域網內,兩台電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此,分布式版本控制系統通常也有一台充當“中央服務器”的電腦,但這個服務器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣干活,只是交換修改不方便而已。
  • Git極其強大的分支管理,把SVN等遠遠拋在了后面;
 

三、git使用https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

  • 使用工作流程

  1. 克隆 Git資源作為工作目錄:gitclone http://xxxxxxxx.git
  2. 切換到dev分支:gitcheckoutdev;
  3. 更新獲取資源源碼:gitpull origin xxx;
  4. 在克隆的資源上添加或修改文件: gitadd <filename>/gitadd*;
  5. 在提交前查看修改:gitlog;
  6. 提交修改:gitcommit -m "代碼提交信息";
  7. 提交到遠程庫:gitpush origin xxx;
  • 分支管理

  1. 查看分支:gitbranch;
  2. 切換分支: gitcheckout (branchname);
  3. 創建分支:gitbranch (branchname),創建分支項目中技術經理會負責創建; 
  4. 一般項目上有多少環境就創建幾個分支,一般項目都是3個環境(DEV,UAT,PROD);
  
               

四、git基本命令

 
 

五、git代碼沖突解決

  • 沖突的原因

       兩個已經提交的分支的相同文件相同位置的的不同操作進行了合並
  • 影響

       git pull時的自動merge被中斷,有可能引起大范圍的文件變更,對版本庫形成較大風險;
  • 在git pull時git會將remote庫的資源下載並自動merge到本地版本庫,並自動commit遠程庫;

  • 解決(2種)

  1. 代碼回滾:gitrevert與gitreset,通知技術經理,根據影響范圍確定執行REVERT還是RESET;

  2. 解決沖突:
  • 執行gitadd xxx(xxx為沖突文件全路徑)
  • 執行gitrebase --continue
  • 執行gitpull --rebase
  • 執行gitpush

六、gitLab和gitHub

  • git是一種版本控制系統,是一個命令,是一種工具;
  • gitlab 是一個基於git實現的在線代碼倉庫軟件,你可以用gitlab自己搭建一個類似於github一樣的系統,一般用於在企業、學校等內部網絡搭建git私服, 如公司的RDC;
  • github是一個基於git實現的在線代碼倉庫,包含一個網站界面,向互聯網開放;

七、相關網站

 


免責聲明!

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



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