1. 程式人生 > >git(版本控制系統)作用

git(版本控制系統)作用

集中 info add 一個 ise repos dir mda 目錄

一、Git是什麽?

  Git是一個開源的分布式版本控制系統。

  1、什麽是版本控制?

    字面意思,控制版本,存儲、追蹤目錄和文件的修改歷史。市面上有各式各樣的版本控制工具,比較常用的SVN、Git等等。

  2、什麽叫“分布式”版本控制?

  (1)集中式:版本庫存放在中央服務器

  (2)分布式:沒有中央服務器,版本庫存在每個人自己的計算機上

  3、概念

  (1)工作目錄(工作區,Woring Directory):執行git init的那個文件夾(linux上叫目錄),裏面有個.git目錄

  (2)版本庫(Repository):工作區中的隱藏目錄.git

    版本庫裏有什麽?

    ① 暫存區(stage或者index)

      git add——把文件修改添加到暫存區

      git commit,把暫存區的內容提交到當前分支(當前head指向的這個分支)

      需要commit的文件事先全部放在暫存區->執行一次commit,全部提交->暫存區清空

    ② ....

  (3)遠程倉庫:可以理解為“中央服務器”,遠端的倉庫

  (4)本地倉庫:你自己電腦上的倉庫

  (5)git倉庫文件的兩種狀態:

    ① 被跟蹤的(Tracked files):那些已經被提交到本地倉庫的文件

    ② 未被跟蹤的(Untracked files):那些未被提交到本地倉庫的文件。比如,你在工作目錄裏新建一個文件,但是並沒有執行add操作,所以當前此文件並不在本地倉庫中,自然不被跟蹤。

    運行git status可以查看當前git倉庫的狀態

二、GitHub是什麽?

  首先它是一個免費的遠程倉庫,可以托管你的代碼,同時,也是一個開源協作社區,可以讓廣大人民群眾共同參與開發。

  1、如何托管代碼?

  (1)點擊“+”可以創建一個新的倉庫

  (2)法1:git clone 到你自己的計算機中的某個目錄(工作區)

     法2:利用Git Bash,用命令行操作。

      ① 若本地還沒有倉庫,git init一個—>把代碼放進去,git add、git commit—>git remote add origin [email protected]:userName/gitName.git—>git push

      ② 若本地有倉庫,第一步就可以省了

  2、如何修改別人的代碼

  (1)Fork開源倉庫

    以https://github.com/poise/python 為例,在項目主頁可以看到作者的倉庫地址 https://github.com/poise/python.git,但是你不能直接克隆作者的這個倉庫地址,因為你沒有權限推送修改。點擊“Fork”在自己的賬號下克隆一個倉庫

  (2)clone自己的倉庫地址 [email protected]:UserName/python.git,再克隆到本地計算機進行一系列修改,之後再推送自己的GitHub倉庫上

  (3)在GitHub上發起一個pull request,若對方接受就接受,不接受就算了...........

四、git操作

  1、創建一個本地倉庫,並托管在GitHub上,push文件

技術分享圖片

從GitHub克隆一個倉庫,不用git init,也可以創建一個本地倉庫

技術分享圖片

 2、分支控制

  HEAD指針:指向的是當前分支

  master分支:主分支

  新建分支dev,創建dev指針,dev指針指向master相同的提交,HEAD指向dev

  合並分支:在dev上修改,之後把dev合並到master上——將master指針指向dev的當前提交

  刪除分支:刪除dev指針

技術分享圖片

git(版本控制系統)作用