GIT使用
一、Git的初始化
1.设置名字和email
$ git config --global user.name “1170300812”
$ git config --global user.email “[email protected]”
2.查看目前的设置
目录(home1170300812下有.gitconfig的文件,(该文件为隐藏文件,使用
$ ls -al
查看),并用
$ vim .gitconfig
查看其内容。
3.单独项目名字和email设置
如果想使项目里的某个值与前面的全局设置有区别,可以在项目中使用
$ git config
命令不带
—global
选项来设置,这会在你当前的目录下创建
.git/config
,从而使用针对当前项目的配置。
二、获得一个Git仓库
1、Clone一个仓库
以https://github.com/shiyanlou/gitproject 为例, 使用
git clone https://github.com/shiyanlou/gitproject
来获取内容。
2、正常的工作流程
a.创建或修改文件
b.使用
$ git add
命令添加新创建或修改的文件到本地的缓存区(index),如
$ git add file1 file2 file3
c. 使用
$ git commit
命令提交到本地代码库
d.(可选,有的时候并没有可以同步的远端代码库)使用
$ git push
命令将本地代码库同步到远端代码库
(1)使用git commit提交修改
可以使用
-m
来添加本次修改的注释,完成后会记录一个新的项目版本。如
$ git commit -m “add 4 files"
。
使用
$ git commit -a -m "add 4 files"
可以将所有没有加入到缓存区的修改也一起提交,但
-a
命令不会添加新建的文件。
注意,修改文件也需要使用
$ git add
命令添加到缓存区才可以提交。 使用
$ git rm
命令删除文件,改命令会自动将删除的文件的信息添加到缓存区,再使用
$ git commit
提交后就会将本地仓库中的对应文件删除。
(2)随时查看git仓库的状态
可以使用
$ git status
命令查看当前Git仓库的状态
使用
$ git diff --cached
查看缓存区中哪些文件被修改了
使用
$ git diff
查看当前你所有已做的但没有加入到缓存区里的修改
(3)关联到远端服务器
使用
$ git remote
命令。如
$ git remote add origin https://github.com/kinglion580/shiyanlou.git
。其中
git remote add
命令用于添加远程主机,
origin
是主机名(可自定义),后面网址则为仓库名。
如果本地的仓库连接到了远程git服务器,可以使用
$ git push origin master
命令将本地仓库同步到远端服务器。(需要输入仓库对应的用户名和密码)。
三、分支与合并
1、创建分支
创建分支,如experimental。
使用命令:
$ git branch experimental
。
使用
$ git branch
来查看当前的分支列表以及当前位于的分支上。
2、切换分支
使用
$ git checkout 分支名
切换到其他分支。
3、合并分支
使用
$ git merge
命令来合并分支到主线分支。如
$ git merge -m “merge experimental branch” experimental
来合并experimental到master,其中
-m
仍是用来填写合并注释信息的参数。
注意,如果我们合并的两个分支更改的是不同的文件,则直接合并完成,若我们修改的是相同的文件,则会合并失败。失败后会在文件中添加失败信息,我们需要手动修改后再进行提交。
4、删除分支
以experimental为例,使用命令
$ git branch -d experimental
删除分支experimental。
注意,该命令可以直接删除那些已经被当前分支合并的分支,如果你要强制删除某个分支的话就使用命令
$ git branch -D 分支名
。
5、撤销一个合并
使用命令
$ git reset —hard HEAD^
来回到合并之前的状态。
四、Git日志
1、查看日志
使用命令
$ git log
显示所有的提交。 通过
$ git help log
可以查看很多操作命令。如查看所有从“v2.5“开始在fs目录下的所有Makefile的修改
$ git log v2.5.. Makefile fs/
2、日志统计
使用
$ git log --stat
查看每个提交中哪些文件被修改的详细提交记录。
3、格式化日志
使用
--pretty
参数使用若干表现格式,如oneline:
$ git log --pretty=oneline
。还可以使用
short
,
medium
,
full
,
fuller
,
email
或
raw
。甚至可以用
--pretty=format
参数定义格式。 使用
--graph
选项可以可视化提交图。如
$ git log --graph --pretty=oneline
4、日志排序
通过为
$ git log
添加顺序参数来获得特定顺序。 如
--topo-order
会让提交安拓扑顺序来显示,
--reverse
可以逆向显示所有提交日志。 例如,
$ git log --pretty=format:'$h : $s' --oppo-order --graph.