转载博客请指明转载地址:http://www.cnblogs.com/lpit/p/4913629.html

了解知识点:Git有一个工具被称为git config,它允许你获得和设置配置变量;这些变量可以控制Git的外观和操作的各个方面。

一. 配置文件的存储位置 这些变量可以被存储在三个不同的位置: *** 参考博客http://blog.csdn.net/wirelessqa/article/details/8572928 ***

/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 'xxxxxxx@xx.com' 重申一遍,你只需要做一次这个设置。如果你传递了 --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 'xxxxxxx@xx.com' 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 $ 复制代码 转载博客请指明转载地址:http://www.cnblogs.com/lpit/p/4913629.html