Git配置問題總結

Git客戶端配置

  • 查看配置信息:git config [--global | system | local] --list
  • 設置用戶名:git config [--global | system | local] user.name <yourname>
  • 設置用戶郵箱:git config [--global | system | local] user.email <[email protected]>
  • 設置git命令別名:git config [--global | system | local] alias.<newCommand> <originalCommand>

忽略文件(.gitignore)

     忽略某些文件時,需要編寫.gitignore,並且.gitignore文件本身要放到版本庫裏,並且可以對.gitignore做版本管理。
     在Git工作區的根目錄下創建一個特殊的.gitignore文件,然後把要忽略的文件名填進去,Git就會自動忽略這些文件。不需要從頭寫.gitignore文件,GitHub已經爲我們準備了各種配置文件,只需要組合一下就可以使用了。所有配置文件可以直接在線瀏覽:https://github.com/github/gitignore
     忽略文件的原則:忽略操作系統自動生成的文件,比如縮略圖等;忽略編譯生成的中間文件、可執行文件等,也就是如果一個文件是通過另一個文件自動生成的,那自動生成的文件就沒必要放進版本庫,比如Java編譯產生的.class文件;忽略你自己的帶有敏感信息的配置文件,比如存放口令的配置文件。
     忽略文件的語法規則如下:
  • 註釋:以'#'開始的行,被視爲註釋
  • 忽略所有指定文件及目錄:sample
  • 忽略當前文件及目錄:/dir
  • 忽略目錄:dir/
  • 不忽略特定文件及目錄:!sample
  • 忽略文件及目錄(通配符):*.dex忽略所有以.dex結尾的文件;*.[oa]忽略所有以.a和.o結尾的文件
     除了上述方法,還有以下兩種方法也可以實現文件的忽略:
  • 修改.git/info/exclude文件來忽略文件,語法規則和.gitignore相同。這種方式對倉庫全局有效,但只能對自己本地倉庫起作用。
  • 通過.git/config配置文件的core.excludesfile選項,指定一個忽略規則文件,這種方式對倉庫全局有效。


Https方式Clone的Repository,保存Push時的用戶名和密碼

Git倉庫的Https地址,主要用在一些防火牆或者代理服務器設置比較嚴格的情況下,比如有些公司禁止使用 SSH 連接外網,那麼在這種情況下要想使用 Git ,就只能用 Https 方式了。

1. Windows
首先可以考慮使用GitHub for Windows,它已經包含了該助手,或者可以下載對應系統的版本:Windows 7Windows 8Source 版本,然後解壓縮文件並將裏面的git-credential-winstore.exe 放到git 所在的目錄運行即可。下次再 commit 的時候,會彈出個窗口詢問用戶名和密碼,填寫一次即可永久保存了。注意,一定要將 git-credential-winstore.exe 複製到 git 所在目錄。

2. Linux
使用 'cache'認證助手包來緩存認證信息,運行下面的命令來啓用憑據緩存:
$git config --global credential.helper 'cache --timeout 3600'     #每次輸入密碼將保存3600秒,可設置爲其它值

下面的命令可以查看 'cache' 認證助手的所有配置:
$git help credential-cache     #

3. Mac
安裝 osxkeychain憑據助手,並在 Git 中設置使用。注意,Git 版本需要 1.7.9 及以上纔可使用。如果已經安裝了homebrew,那麼應該已經自帶了osxkeychain,可以通過下面的命令驗證:
$ git credential-osxkeychain
# Test for the cred helper
Usage: git credential-osxkeychain &lt;get|store|erase&gt;

如果沒有安裝,那麼可以使用curl下載並安裝:
$ curl -s -O http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain    # Download the helper
$ chmod u+x git-credential-osxkeychain     # Fix the permissions on the file so it can be run

接下來,將osxkeychain安裝到與Git安裝目錄相同的位置:
$ which git     # Find where git is installed
/usr/local/git/bin/git
$ sudo mv git-credential-osxkeychain /usr/local/git/bin/     # Move the file so git can access it
Password: [enter your password]

然後,在Git的全局配置中進行設置:
$git config --global credential.helper osxkeychain

經過上面的設置,下次克隆 HTTPS 地址時會詢問用戶名和密碼,並授權給osxkeychain,完成之後用戶名和密碼就會存儲到keychain中,此後再也不會在 Git 中詢問了。

總結:除了這些方法之外,還有一種使用 .netrc 文件的方式,可以參考學習。


Git Bash中文亂碼(Windows)

1. ls不能顯示中文目錄
%GIT_HOME%/etc/git-completion.bash中增加一行:
alias ls='ls --show-control-chars --color=auto'

2. git commit不能提交中文註釋
修改%GIT_HOME%/etc/inputrc中:
set output-meta on
set convert-meta off

3. git log無法顯示中文註釋
%GIT_HOME%/etc/profile中增加一行:
export LESSCHARSET=iso8859
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章