2014年2月11日 星期二

Git 安裝、設定、指令

安裝環境:windows 7
Git 下載:http://git-scm.com (寫這篇教學時,我下載的版本是 Git-1.8.5.2-preview20131230)

Git 安裝
在 windows 上安裝 Git 很簡單,基本上只要一直按下一步就可以。步驟如下。
  1. 開啟下載的安裝檔,出現安裝畫面,按「Next」到下一步驟。
  2. 按「Next」。
  3. 選擇要安裝到那個資料夾。按「Next」。
  4. 安裝選項設定。我是保留原本的設定。按「Next」。

  5. 選擇是否在開始選單建立資料夾。按「Next」。
  6. 設定執行 Git 指令的方式。我習慣盡量不動到原本系統的設定,所以選擇「Use Git Bash only」。按「Next」。
  7. windows 作業系統的換行是「CR+LF」,Unix-style 的作業系統換行只有「LF」。在 windows 上使用 Git,建議選擇「Checkout Windows-style, commit Unix-style line endings」,讓 Git 在 checkout 和 commit 都自動作換行的轉換,避免跨平台的問題。按「Next」。
  8. 開始安裝。
  9. 安裝完成。按「Finish」。


 Git 設定、指令
  1. 產生 Repository(儲存庫)。
    前面安裝好 Git 後,即可在要進行版本控制的資料夾產生 Repository(儲存庫)。
    可以操作圖形介面或打指令產生 Repository。
    要使用圖形介面產生 Repository,可在資料夾內按右鍵,
    再選擇「Git Init Here」(如下圖),即可產生 .git 的 Repository 隱藏資料夾。

    要使用指令產生 Repository,須先叫出指令的界面,在資料夾內按右鍵,再選擇「Git Bash」(如上圖)。
    再輸入指令「git init」(如下圖), 即可產生 .git 的 Repository 隱藏資料夾。
  2. Git 的設定檔。
    Git 的設定分三個層級,分別是 system、global、local。
    system:該系統的設定。
    global:該使用者的設定。(依系統登入帳號區分)
    local:該 Repository 的設定。(依不同的 Repository 區分,例如前面產生的 Repository ,就有自己的設定。)
    這三個層級,分別存放在不同的設定檔。
    system => C:\Program Files (x86)\Git\etc\gitconfig
    global =>C:\Users\使用者帳號\.gitconfig  (須有設定過 global 層級的資料,才會產生這個檔)
    local => 版本控制資料夾\.git\config
    註:當 system、global、local都有同樣的設定值時,優先權為 local > global > system
  3. 查看目前 Git 設定的指令
    註:使用指令時,跟在 linux 一樣,按 tab 鍵,可自動補齊指令。
    查看 system 層級的設定
    $ git config --list --system
    core.symlinks=false
    core.autocrlf=true
    color.diff=auto
    color.status=auto
    color.branch=auto
    color.interactive=true
    pack.packsizelimit=2g
    help.format=html
    http.sslcainfo=/bin/curl-ca-bundle.crt
    sendemail.smtpserver=/bin/msmtp.exe
    diff.astextplain.textconv=astextplain
    rebase.autosquash=true
    查看 global 層級的設定 (尚未設定任何資料,所以找不到 .gitconfig 檔)
    $ git config --list --global
    fatal: unable to read config file 'c:/Users/user/.gitconfig': No such file or drectory
    查看 local 層級的設定
    $ git config --list --local
    core.repositoryformatversion=0
    core.filemode=false
    core.bare=false
    core.logallrefupdates=true
    core.symlinks=false
    core.ignorecase=true
    core.hidedotfiles=dotGitOnly
    查看全部的設定,
    $ git config --list
    略...(會列出system、global、local的所有設定)
    設定某一個設定值
    $ git config --global user.name xyz
    (在 global 層級,設定 user.name 為 xyz)
    檢視某個設定值
    $ git config user.name
    (檢視 user.name 的設定)
    
    刪除某一個設定值
    $ git config --global --unset user.name
    (刪除 global 層級 user.name 的設定)
  4. 設定使用者資料。
    Git 提交資料的時候,會使用到使用者名稱和 Email,所以要先設定這兩個資料。
    $ git config --global user.name "XYZ Li"
    (設定使用者名稱,若設定值有空格,可用引號包住)
    $ git config --global user.email xyz@cinc.biz
    (設定使用者 email)
  5. 其他常用指令
    查看Git版本
    $ git --version
    
    查看指令用法
    $ git help 指令名稱
    
    顯示所有的遠端儲存庫
    $ git remote
    $ git remote -v
    
    clone 遠端專案到本地端
    $ git clone ssh://git@伺服器IP/repository名稱
    $ git clone ssh://git@伺服器IP/repository名稱 自訂本地資料夾名稱
    
    新增遠端儲存庫
    $ git remote add [設定名稱] [url]
    $ git remote add aa https://xyz@git.example.com:8443/git/test.git
    
    移除遠端儲存庫
    $ git remote rm 儲存庫名稱
    
    修改遠端儲存庫名稱
    $ git remote rename 舊名稱 新名稱
    
    將本地端的專案 clone 到遠端
    $ git remote add origin ssh://user@host/home/user/repo
    $ git push --all origin
    (先將遠端空的儲存庫新增進來,再 push -all 到遠端)
    
    查看 log
    $ git log
    
    取消剛剛的 commit,但保留修改過的檔案
    $ git reset HEAD^ --soft
    
    查看目前所有分支
    $ git branch -a
    
    建立分支
    $ git branch 分支名稱
    
    切換到分支
    $ git checkout 分支名稱
    
    先前已 fetch 過遠端分支(remotes/origin/testbr),現在本地端要建立一個對應分支(testbr)跟蹤這個遠端分支
    $ git branch --track testbr remotes/origin/testbr
    
    合併分支(例如目前在 master 上,要將 testbr 分支合併)
    $ git merge testbr
    指定使用 fast-forward 方式合併(線圖結果一直線,master指標前移)
    $ git merge --ff testbr
    指定使用 non-fast-forward 方式合併(線圖結果會有分支線)
    $ git merge --no-ff testbr
    
    


參考:
http://git-scm.com/book/zh-tw/
git clone from local to remote
Git 教學(2):Git Branch 的操作與基本工作流程
Git 分支 - 遠端分支
Git 分支 - 分支的新建與合併
Git 情境劇

沒有留言:

張貼留言