git基本命令(学习笔记)

一.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分支

推荐阅读更多精彩内容