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 工做環境。配置工做只需一次,之後升級時還會沿用如今的配置。固然,若是須要,你隨時能夠用相同的命令修改已有的配置。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
$ 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
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