[Git] 筆記 Ch1

  • 235
  • 0
  • Git
  • 2016-04-07

Git Notes這篇文章主要在記錄自已閱讀Git Pro所記錄的重點,少部份用自已的認知來加以說明。主要目的是供自已未來查閱用。

Git Notes這篇文章主要在記錄自已閱讀Git Pro所記錄的重點,少部份用自已的認知來加以說明。主要目的是供自已未來查閱用。


 

  • Git用來計算查核碼的機制稱為SHA-1雜湊法。它由40個十六進制的字母(0–9 and a–f)組成的字串組成,基於Git的檔案內容或者目錄結構計算。

EX: 24b9da6552252987aa493b52f8696cd6d3b00373

  • Git 通常只增加資料: ,幾乎所有的動作只是增加資料到Git的資料庫。 很難藉此讓做出讓系統無法復原或者清除資料的動作。

  • 三種狀態
  1. 已提交(committed): 資料己安全地存在使用者的本地端資料庫。
  2. 已修改(modified): 己修改代表著讀者已修改檔案但尚未提交到資料庫。
  3. 已暫存(staged): 使用者標記已修改檔案,並會於下次提交時存入本地端資料庫。

初次設定Git:

  • git config 依全域至特定Git資料庫,config檔放在
  1.  /etc/gitconfig : Git安裝路徑下,使用者執行GitCommand  “—system” 參數給 git config,它就會讀取或者寫入參數到這個檔案。
  2. ~/.gitconfig: 使用者路徑下(windows位於C:\Documents and Settings\$USER內)針對使用者載入的config. (傳遞 --global 參數給 git config,它就會讀取或者寫入參數到這個檔案。)
  3. .git/config: 僅給所在的儲存庫使用。

每個階級的設定會覆寫上一層的。 因此,git/config內的設定值的優先權高過/etc/config。

若要檢示所有階層的Config 設定值, 可以下git command:


git config --list

設定識別資料:

  • 安裝Git後首先應該做的事是指定使用者名稱及電子郵件帳號。 這一點非常重要,因為每次Git提交會使用這些資訊,而且提交後不能再被修改:

$ git config --global user.name "John Doe"

$ git config --global user.email johndoe@example.com

 

指定編輯器:

  • 改成Emeditor:  

git config --global core.editor "'C:\Program Files (x86)\EmEditor\EmEditor.exe' -wl1"
  1. 系統環境變數Path要將editor所在路徑加入
  2. 需重新關掉gitbash後進入,修改始得以生效
  3. -w : ask git to wait for you to finish typing the message in the text editor
  4. l1 : tell git to start at line one, put the cursor at line one
  • 改成notepad

$ git config --global core.editor "notepad.exe"

指定合併工具

  • $ git config --global merge.tool vimdiff

取得說明文件:

$ git help <verb>

$ git <verb> --help

Ex: 


git help commit

 

Reference:

https://git-scm.com/book/zh-tw/v1/%E9%96%8B%E5%A7%8B-%E5%88%9D%E6%AC%A1%E8%A8%AD%E5%AE%9AGit

http://martual.leanote.com/post/Untitled-54c6b0ae38f41110370023e7-11