星期四, 9月 01, 2011

設定git config

常用git config 每次建新repo都要重設一次,直接拉拿copy-paste
  • .git/config

    [core]
      filemode = false
    [core]
      filemode = false
    [color]
      ui = true
      branch = auto
      diff = auto
      status = auto
      log = auto
      interactive = auto
    

  • .gitattributes
    * text=auto


說明
  • 設定git
    #git config --global user.name "YOUR_NAME"
    #git config --global user.email YOUR_EMAIL
    
  • git指令自動完成
    1. 下載git source code 
    2. 複製.git-completion.bash
      $ cp contrib/completion/git-completion.bash. ~/
    3. 編輯.bashrc $ vim ~/.bashrc 加入 source ~/.git-completion.bash
  • UI環境設定
    • 啟用色彩
      # git config --global color.ui true
      # git config --global color.branch auto
      # git config --global color.diff auto                 //將diff的資料加入色彩
      # git config --global color.interactive auto
      # git config --global color.status auto           //
      
    • 自訂色彩
      #git config --global color.diff.meta "blue black bold"
      
    • 一次設定
      $ vim .git/config   編輯以下內容,顏色可自訂
      [color]
        branch = auto
        diff = auto
        status = auto
      [color "branch"]
        current = yellow reverse
        local = yellow 
        remote = green
      [color "diff"]
        meta = yellow bold
        frag = magenta bold
        old = red bold
        new = green bold
      [color "status"]
        added = green
        changed = red
        untracked = cyan
      
  • 檔案環境
    • 格式化空白
      由於windows(\r\n)及max, linux(\n)的換行符號不同 所以在不同環境下共同編輯時,會一直有換行符號的問題 看到原來git很聰明的可以自動幫我們做轉換 Git可以在你提交時自動地把行結束符CRLF轉換成LF,而在簽出代碼時把LF轉換成CRLF。 用core.autocrlf來打開此項功能,
      • Windows系統
        設置成true,這樣當checkout代碼時,LF會被轉換成CRLF
        #git config --global core.autocrlf true
      • Linux或Mac系統
        core.autocrlf設置成input來告訴 Git 在提交時把CRLF轉換成LF,checkout時不轉換
        #git config --global core.autocrlf input
    • 檔案權限
      git不會理檔案權限,所以當init後,就不會再改變,即使改過權限(744 -> 777)又commit
      當下的working area是會變,不過clone此repository會回到原本的744
      改為false後就會一致了
      git config core.filemode false
References Git Configuration

沒有留言: