Git 使用的一些我的理解

最近在學習git的使用,有一些我的的理解,寫出來和你們一塊兒分享。git

分一下幾點緩存

  1. Git介紹/認識Git
  2. 經常使用命令
  3. SourceTree工具的使用

1、什麼是Git

用最多見的描述來講,Git是一個分佈式版本控制系統,我的以爲這個說法雖然徹底正確,可是有點難理解,與其說是分佈式不如換一個字,叫分散式版本控制系統。這也是Git和SVN最大的區別了,SVN你們都很熟悉,它是中心式的,代碼是統一維護在服務器端的倉庫中的,而Git雖然也有中心式版本庫或者服務器,可是還多出來了一個本地倉庫(local repository)的概念。服務器

我理解爲在本地搭建了一個相似SVN的服務器,我本身的代碼能夠往這個本地倉庫提交而不會對其餘人形成影響,而當我須要將代碼提交到遠程版本庫或者和其餘人的代碼進行合併時,則能夠從本地的倉庫進行提交。分佈式

本地倉庫的組成

本地倉庫相似於一個本地SVN服務器,它是由三個部分組成的:工具

  1. Direconvery:使用Gi81922t管理的一個目錄,也就是一個倉庫,包含咱們的工做空間和Git的管理空間。
  2. 工做空間(img-LfrtsGLM-158642_ce):須要經過Git進行版本控制的目錄和文件,這些目錄和文件組成了工做空間,通俗來講 1. 這部分是你的實際文件,或者代碼 2. 除了.git以外的都屬於工做區。
  3. .git:存放Git管理信息的目錄,初始化倉庫的時候自動建立。
  4. 暫存區(Index/Stage):或者叫待提交更新區,在提交進入repo以前,咱們能夠把全部的更新放在暫存區;這一部分就像是一個緩存區,它保存你對工做目錄中文件的改動。
  5. HEAD(Local Repo):一個存放在本地的版本庫;HEAD會只是當前的開發分支(branch)。
  6. 貯藏Stash:是一個工做狀態保存棧,用於保存/恢復WorkSpace中的臨時狀態。

2、經常使用命令

正是由於本地倉庫的工做空間由三個部分組成,因此咱們在提交工做代碼到本地倉庫時纔有先add再commit的作法:學習

提交本地倉庫

  1. 工做目錄->暫存區 git add <filename> 指定文件 git add . 提交當前目錄全部文件
  2. 暫存區->HEAD,這樣代碼就提交到了你的本地倉庫的HEAD,可是還沒到遠端倉庫。 git commit -m "代碼提交信息"
  3. 提交到遠端倉庫 git push origin <branch> 提交到指定的遠端分支

    1 2 步驟實際操做的是本地倉庫, 3步驟真的提交遠端倉庫fetch

從遠端倉庫克隆到本地倉庫

git pull [remote] [branch] 遠端地址 指定分支名稱.net

這個命令會在你的工做目錄中 獲取(fetch) 並 合併(merge) 遠端的改動。 注意: 若是要合併的不是默認的master分支,也可選擇合併到指定的分支。例: 本地分支是master 遠端倉庫是dev,也能夠把dev合併到master分支,版本控制

分支合併

git merge <branch>code

git會嘗試自動合併改動,可是並不會每次都成功,若是出現衝突則須要自行手動修改來合併,而且在改動後執行:提交本地倉庫的操做

初始化倉庫提交至遠端倉庫

遠端倉庫下載到你的本地倉庫

git clone [remote] [branch]

下圖是所示就是上面所說起的模型和幾個經常使用命令,通常來講平常使用只要記住這6個命令也就夠了,但要想你寫過做的話,仍是不夠的

3、 SourceTree的應用

待續

更多git的功能和用法我還沒探究出來,先寫這些和你們分享,但願能解決一些困惑,一塊兒交流共同進步。

相關文章
相關標籤/搜索