一.git的初始化
1.git配置
$ git config --global user.name "xialong"
$ git config --global user.email "xialong@gmail.com"
二.获得一个仓库
有两种方法可以得到它:一种是从已有的Git仓库中clone (克隆,复制);还有一种是新建一个仓库,把未进行版本控制的文件进行版本控制。
1.Clone一个仓库
$ git clone http://git.shiyanlou.com/shiyanlou/gitproject
//在当前目录Clone http://git.shiyanlou.com/shiyanlou/gitproject处的仓库
2.初始化一个新的仓库
$ mkdir project
$ cd project
$ git init
三.正常的工作流程
git的基本流程如下:
A.创建或修改文件
$ touch file1 file2 file3
$ echo "testcontent1" >> file1
$ echo "testcontent2" >> file2
$ echo "testcontent3" >> file3
注:可以用下面命令查看状态
$ git status
B.使用git add命令添加新创建或修改的文件到本地的缓存(Index)
$ git add file1 file2 file3
如果是删除文件,则直接使用git rm命令删除后会自动将已删除文件的信息添加到缓存区,git commit提交后就会将本地仓库中的对应文件删除。
C.使用git commit命令提交到本地代码库(可选,有的时候并没有可以同步的远端代码库)使用git push命令将本地代码库同步到远端代码库
$ git commit -m "add 3 files"
或
$ git commit -a -m "add 3 files"
//该命令将所有没有加到缓存区的修改也一起提交,但-a命令不会添加新建的文件。
这个时候如果本地的仓库连接到了远程Git服务器,可以使用下面的命令将本地仓库同步到远端服务器:
$ git push origin master
四.分支与合并
1.分支
$ git branch experimental //创建一个新的叫 experimental的分支
$ git branch //查看当前分支列表
$ git checkout experimental //切换到experimental 分支
2.合并
$ git merge -m 'merge experimental branch' experimental //合并分支
$ git reset --hard HEAD^ //撤销一个合并
$ git branch -d
//只能删除那些已经被当前分支的合并的分支. 如果你要强制删除某个分支的话就用git branch –D
四.git日志
$ git log
五.比较内容
1.比较提交 - Git Diff
$ git diff
//git diff命令的作用是比较修改的或提交的文件内容。
2.查看缓存区内与上次提交之间的差别
$ git diff --cached
//查看缓存区内与上次提交之间的差别
六.比分支
$ git diff master test //比较master和test分支