### 查看Git版本
~~~
$ git --version
~~~
### 配置Git變量
這些設置會在全局文件(用戶主目錄下的.gitconfig)或系統文件(如/etc/gitconfig)中做永久記錄
#### 配置用戶名和郵件地址:(將在版本庫提交時用到,為確保提交者信息的正確性一定要設置)
~~~
$ git config --global user.name "your name"
$ git config --global user.email "your email address"
~~~
#### 配置Git別名:(以便使用更為簡潔的子命令)
下面的命令使別名能被所有用戶使用(需要系統管理員權限)
~~~
?# git config --system alias.st status ? ? ? ? 類似的還有ci commit, co checkout, br branch
~~~
下面的命令只在本用戶的全局配置中添加Git命令別名
~~~
?#git config --global alias.st status
~~~
#### 開啟顏色顯示:
~~~
$ git config --global color.ui true
~~~
### 初始化Git版本庫
首先進入工作目錄(設為gitTest),然后$ git init,則創建了隱藏目錄.git。也可在git init命令后直接輸入目錄名稱以自動完成工作目錄的創建
然后在gitTest文件夾下創建文件test
~~~
$ git add test 將test文件添加到版本庫
~~~
需要再執行一次提交操作,需要提交說明。當Git提交時,如果不在命令行使用-m參數提供提交說明,Git會自動打開一個編輯器要求輸入提交說明
~~~
$ git commit -m "說明"
~~~
輸出如下內容:
~~~
[master (root-commit) 4ffa0a3] 說明
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 test
~~~
說明此次提交在master的分支上,并且是該分支的第一個提交(root-commit),提交ID為4ffa0a3
commit的參數:
--amend 對剛剛的提交進行修補
--allow-empty 允許空白提交
--reset-author 將Author的ID同步修改,也會重置AuthorDate信息
### Git的一些其他命令
#### 搜索版本庫中的文件內容
~~~
$ git grep "文件內容"
~~~
#### 顯示版本庫.git目錄所在位置
`$ git rev-parse --git-dir`
#### 顯示工作區根目錄
~~~
$ git rev-parse --show-toplevel
~~~
#### 顯示當前目錄相對于工作區根目錄的相對目錄
~~~
$ git rev-parse --show-prefix
~~~
#### 顯示從當前目錄后退到工作區的根的深度
`$ git rev-parse --show-cdup`
#### 編輯配置文件
~~~
$ git config -e 編輯版本庫級別的配置文件(需要進入工作目錄的根目錄)
$ git config -e --global 編輯用戶主目錄下的全局配置文件
$ git config -e --system 編輯/etc目錄下的系統級配置文件
~~~
上面三個配置文件優先級從高到低
配置文件采用了ini文件格式
~~~
$ git config <section>.<key> 讀取配置文件某個配置的鍵值
$ git config <section>.<key> <value> 修改某個配置的鍵值
~~~
還可以用git config命令操作任何其他的ini文件
~~~
$ GIT_CONFIG=test.ini git config a.b.c.d "hello" 向test.ini中添加配置
$ GIT_CONFIG=test.ini git config a.b.c.d 從test.ini中讀取配置
~~~
#### 查看日志
~~~
$ git log
~~~
log的參數:
--pretty=fuller 額外顯示提交日期
--stat 顯示每次提交的文件變更統計
Git克隆可以降低因為版本庫和工作區混雜在一起而導致的版本庫被破壞的風險。可以通過克隆操作在本機另外的磁盤/目錄中建立Git克隆,并在工作區有新的提交時,手動或自動執行向克隆版本庫的推送(git push)操作。如果使用網絡協議,還可以在其他機器上建立克隆。