1. 程式人生 > >管理你的程式碼——Git學習(一)

管理你的程式碼——Git學習(一)

前言

本文建議順序閱讀,工具教程本就是逐漸深入的過程,大家切莫著急,須得知欲速不達,夯實基礎,方能靜水流深。

為什麼使用Git?

  我們在編輯文字或者寫程式碼時總會遇到這種情況:當下這段話不滿意,這個程式碼不完美,我不滿意,我想回到我之前的某個版本,我該怎麼做?這是Git最直接的作用,它也包含了其他一些優秀的功能,使得協同開發變得更加簡單,我們把它稱之為版本控制工具。
  版本控制工具分兩種:

  • 中央式:SVN為代表
    SVN是把更新版本統一託管到一箇中央平臺,每次工作前都要把程式碼從中央下載下來,做完更改後又必須提交上去,特點是需要聯網才能進行;
     image_1cl6n1slpmsc1d221nvo114k1st3m.png-58.1kB

  • 分散式:Git為代表 
    每個人都擁有一個完整的程式碼副本,沒有也可以進行工作,大家修改完可以互相交換,檢視更改內容,當然為了方便,一般也會抽取一臺電腦當作“中央伺服器”,大家統一提交到這裡“交換”修改意見,雖然沒有它大家也可以工作,但是會麻煩很多。
     image_1cl6n21mp1j77rlb11uo1ktfenv13.png-103.4kB

Git使用

一、Git使用者賬號初始

  1. 設定你的username和email
    image_1cl3s7mamk5o1vvb15crdrg16q89.png-5.6kB

  2. 設定你的email
    image_1cl3s82jq1i51f0q9iug7d1fj3m.png-6.3kB

    因為Git是分散式的管理系統,每個Git使用者都應該設定一個id,這樣以後提交時才能分辨是誰。

二、修改與提交

  1. 建立目錄,建立倉庫
    image_1cl3s9uan2fp13c5bv44n7ljf13.png-18.2kB
    建立倉庫使用命令:

    git init

    目錄中會多出一個“.git”檔案,千萬不要動他,這是儲存你修改資訊的檔案。
    image_1cl3sarmsb241fml1411a5edjb1g.png-11.3kB

    建立目錄等和普通的shell命令類似,只要你熟悉linux操作,你會發現很多類似的命令。

  2. git一般用於跟蹤文字檔案的改動,對於圖片、視訊雖然也能控制,但是改動只能知道大小的變化,卻不知道改動的具體內容。
    我們試著建立一個空的txt檔案:
    這裡寫圖片描述

  3. 提交到改動暫存區
    image_1cl6nl34iv0i1csm15o4b90jac1t.png-5.1kB
    這步將檔案放到了暫存區。

  4. 將改動提交
    image_1cl6no0ap3kr1kof574130919ss2a.png-12.6kB

  5. 檢視提交狀態
    image_1cl6non5ifol1u2417801eichi72n.png-7.5kB

  6. 嘗試更改一下檔案內容
    image_1cl6nqlhc1clq1so41uqgpd9ae234.png-16.1kB

  7. 再次檢視提交狀態
    image_1cl6ns9vr2c08r51lg21k851brj3h.png-18.7kB

  8. 檢視更改內容
    image_1cl6o5qlg16kq1nae15gb1vg93cj3u.png-14.9kB

  9. 再次提交更改
    這裡寫圖片描述

三、版本回退

  1. 檢視修改日誌
    image_1cl6ocptc1b181v17u4cmc710pc4b.png-25.5kB
    這個指令

    git log –pretty=oneline

    可以一行顯示日誌,更加簡潔
    image_1cl6oegan15eqva11g984d51q094o.png-15.8kB

  2. 回退版本
    當前版本內容:
    image_1cl6ogopq102gm1d16ognsf16k85l.png-15.7kB
    回退方法有兩種方法:

    git reset –hard HEAD^     (HEAD後面接幾個”^”就是回退幾個版本)
    image_1cl6oj8pu4lj2t2k61v11sj462.png-8.3kB
    git reset –hard HEAD~回退步數
    這裡寫圖片描述
    回退後的內容:
    image_1cl6okbf81u431teq1ijo4pjqct6f.png-10.4kB

    我們再看版本日誌:
    image_1cl6oorat1qk7a3l186b1qm814q6s.png-15.4kB


    發現了現在只有最開始提交的那次日誌了,有人問“如果我又想回到最新的最麼辦?”
    不用擔心,Git有後悔藥給你吃。

  3. 檢視所有的提交改動
    image_1cl6otnhsd9h10dtuuoqk0as079.png-18kB
    我們看到剛才版本的id是1f7561b,使用指令

    git reset –hard 版本id

    image_1cl6p28dlnsmgo1alqiir1o6q83.png-8.6kB
    至此,我們發現我們的內容又回來了:
    image_1cl6p1r3a1tn53h6lf18nukv7m.png-15kB

初步提交修改等指令大致這些,讀者也可以自己嘗試著去了解一些指令,在bash中輸

git –help

會有一個詳盡的指令解釋哦,未完待續。