新手Git實用指導

Abstract: This introduction is a tip post for the coding beginners. You may not use GitHub as the server but it is always being nice to have your codes titled with a source control. Not only for somebody else but also yourself in the feature work. html

若是你第一次接觸 Git, 那麼這是我見過的最好的 Git 初學者指導. 只有一頁並且是中文的.
http://rogerdudler.github.io/git-guide/index.zh.htmlgit

初次運行 Git 前的配置

通常在新的系統上,咱們都須要先配置下本身的 Git 工做環境。配置工做只需一次,之後升級時還會沿用如今的配置。固然,若是須要,你隨時能夠用相同的命令修改已有的配置。github

Git 提供了一個叫作 git config 的工具(譯註:實際是 git-config 命令,只不過能夠經過 git 加一個名字來呼叫此命令。),專門用來配置或讀取相應的工做環境變量。而正是由這些環境變量,決定了 Git 在各個環節的具體工做方式和行爲。這些變量能夠存放在如下三個不一樣的地方:ide

/etc/gitconfig 文件:系統中對全部用戶都廣泛適用的配置。若使用 git config 時用 --system 選項,讀寫的就是這個文件。工具

~/.gitconfig 文件:用戶目錄下的配置文件只適用於該用戶。若使用 git config 時用 --global 選項,讀寫的就是這個文件。post

當前項目的 Git 目錄中的配置文件(也就是工做目錄中的 .git/config 文件):這裏的配置僅僅針對當前項目有效。每個級別的配置都會覆蓋上層的相同配置,因此 .git/config 裏的配置會覆蓋 /etc/gitconfig 中的同名變量。
在 Windows 系統上,Git 會找尋用戶主目錄下的 .gitconfig 文件。主目錄即 $HOME 變量指定的目錄,通常都是 C:\Documents and Settings\$USER。此外,Git 還會嘗試找尋 /etc/gitconfig 文件,只不過看當初 Git 裝在什麼目錄,就以此做爲根目錄來定位。fetch

用戶信息

第一個要配置的是你我的的用戶名稱和電子郵件地址。這兩條配置很重要,==每次 Git 提交時都會引用這兩條信息==,說明是誰提交了更新,因此會隨更新內容一塊兒被永久歸入歷史記錄:ui

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

若是用了 --global 選項,那麼更改的配置文件就是位於你用戶主目錄下的那個,之後你全部的項目都會默認使用這裏配置的用戶信息。若是要在某個特定的項目中使用其餘名字或者電郵,只要去掉 --global 選項從新配置便可,新的設定保存在當前項目的 .git/config 文件裏。url

查看配置信息
要檢查已有的配置信息,可使用 git config --list 命令:code

$ git config --list
user.name=Scott Chacon
user.email=schacon@gmail.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto

有時候會看到重複的變量名,那就說明它們來自不一樣的配置文件(好比 /etc/gitconfig 和 ~/.gitconfig),不過最終 Git 實際採用的是最後一個。

也能夠直接查閱某個環境變量的設定,只要把特定的名字跟在後面便可,像這樣:

$ git config user.name
Scott Chacon

Creat a local repo linked to a remote repo

$ rm -rf Matlab-Tests/
$ mkdir Matlab-Tests
$ cd Matlab-Tests/

$ git init
$ git remote add origin https://github.com/xia50/Matlab-Tests.git
$ git fetch

Git branch config

If you often merge with the same branch, you may want to
use something like the following in your configuration file:
    [branch "master"]
    remote = <nickname>
    merge = <remote-ref>

    [remote "<nickname>"]
    url = <url>
    fetch = <refspec>

For example: do$ cd .git/ first, then $ subl config

[branch "master"]
    remote = origin
    merge = refs/heads/master
[branch "master_v5"]
    remote = origin
    merge = refs/heads/master_v5
相關文章
相關標籤/搜索