Git有一個工具被稱為git config,它允許你獲得和設置配置變量;這些變量可以控制Git的外觀和操作的各個方面。
一. 配置文件的存儲位置
這些變量可以被存儲在三個不同的位置:
/etc/gitconfig 文件:包含了適用於系統所有用戶和所有庫的值。如果你傳遞參數選項’--system’ 給 git config,它將明確的讀和寫這個文件。
~/.gitconfig 文件 :具體到你的用戶。你可以通過傳遞--global 選項使Git 讀或寫這個特定的文件。
位於git目錄的config文件 (也就是 .git/config) :無論你當前在用的庫是什麼,特定指向該單一的庫。每個級別重寫前一個級別的值。因此,在.git/config中的值覆蓋了在/etc/gitconfig中的同一個值。
二. 配置你的用戶名和密碼 當你安裝Git後首先要做的事情是設置你的用戶名稱和e-mail地址。這是非常重要的,因為每次Git提交都會使用該信息。它被永遠的嵌入到了你的提交中:
1 $ git config --global user.name 'xxxxxxx'
2 $ git config --global user.email '
[email protected]'
重申一遍,你只需要做一次這個設置。如果你傳遞了 --global 選項,因為Git將總是會使用該信息來處理你在系統中所做的一切操作。
如果你希望在一個特定的項目中使用不同的名稱或e-mail地址,你可以在該項目中運行該命令而不要--global選項。
1 $ git config user.name '你的用戶名'
2 $ git config user.email '你的郵箱'
git使用實踐
實踐內容:創建環境、成功添加、提交、推送、更新等常用命令。
1 # 環境
2 git --version
3 git version 1.7.1
4 pwd
5 /data1/home/xxxxxxx/img
6 # 創建工作目錄
7 mkdir liupengGitTest
8 cd liupengGitTest/
9 # 初始化工作目錄
10 git init
11 # 設置當前版本庫的用戶信息
12 git config user.name 'xxxxxxx'
13 git config user.email '
[email protected]'
14 # 測試
15 touch README
16 # 向git中添加文件
17 git add README
18 # 提交修改的文件
19 git commit -m 'first commit'
20 # 添加遠程版本庫
21 # 遠程的版本庫可以在 git 服務站點 中創建
22 git remote add origin ssh://xxxxxxx/mytest.git
23 #將本地文件推送到 遠程版本庫
24 git push -u origin master
25 # 更新本地版本庫,需要修改文件時,最好先更新下,防止沖突
26 # 也可以使用 git fetch
27 git pull
git實踐進階
創建分支與合並分支
創建分支
1 $ pwd
2 /data1/home/xxxxxxx/liupengGitTest
3 # 查看當前所處的分支
4 $ git branch
5 * master
6 #創建分支dev,並切換分支到dev
7 #git checkout -b dev 可以使用另一種寫法 git branch dev;git checkout dev
8 $ git checkout -b dev
9 Switched to a new branch 'dev'
10 $ git branch
11 * dev
12 master
13 $ ll
14 total 4
15 -rw-r--r-- 1 xxxxxxx domain^users 110 Sep 1 15:01 README
合並分支
1 $ git branch
2 * dev
3 master
4 $ touch addtxt
5 $ git add addtxt
6 $ git commit -m 'branch dev add a new file'
7 [dev 78dd0f9] branch dev add a new file
8 0 files changed, 0 insertions(+), 0 deletions(-)
9 create mode 100644 addtxt
10 $ git status
11 # On branch dev
12 nothing to commit (working directory clean)
13 #dev 分支兩個文件
14 $ ll
15 total 4
16 -rw-r--r-- 1 xxxxxxx domain^users 0 Sep 1 16:24 addtxt
17 -rw-r--r-- 1 xxxxxxx domain^users 110 Sep 1 15:01 README
18 $ git checkout master
19 Switched to branch 'master'
20 # master分支一個文件
21 $ ll
22 total 4
23 -rw-r--r-- 1 xxxxxxx domain^users 110 Sep 1 15:01 README
24 # 合並分支
25 $ git merge dev
26 Updating a279cb0..78dd0f9
27 Fast-forward
28 0 files changed, 0 insertions(+), 0 deletions(-)
29 create mode 100644 addtxt
30 $ git branch
31 dev
32 * master
33 # master 分支有兩個文件啦!
34 $ ll
35 total 4
36 -rw-r--r-- 1 xxxxxxx domain^users 0 Sep 1 16:31 addtxt
37 -rw-r--r-- 1 xxxxxxx domain^users 110 Sep 1 15:01 README
38 # 推送到遠程服務器 git push origin master 不要u也行的,u的作用是如果當前分支與多個主機存在追蹤關系,則可以使用-u選項指定一個默認主機,這樣後面就可以不加任何參數使用git push。
39 $ git push -u origin master
40 Counting objects: 4, done.
41 Compressing objects: 100% (2/2), done.
42 Writing objects: 100% (3/3), 275 bytes, done.
43 Total 3 (delta 0), reused 0 (delta 0)
44 To ssh://xxxxxxx/mytest.git
45 a279cb0..78dd0f9 master -> master
46 Branch master set up to track remote branch master from origin.
47 $ git status
48 # On branch master
49 nothing to commit (working directory clean)
50 $