Git 常用操作总结
一.简介
git是linus在2005年开源的一个分布式版本管理系统 ;
SVN和CVS:是集中式的必须联网才能工作;版本库挂了,就无法工作;
更加详细介绍参考:http://www.liaoxuefeng.com
git下载地址:http://git-scm.com
二.Git 创建版本库(repository)
2.1.第一种方式:init
随便进入一个目录下面,执行git init命令,便创建了一个版本库;初始化后,在当前目录下面就会生成一个.git的隐藏文件夹;这个.git文件夹就是版本库,执行命如下:
$ git init
2.2.第二种方式:clone
使用克隆,例如克隆dubbo的项目到本地,代码如下所示:
$ git clone https://github.com/alibaba/dubbo.git Cloning into 'dubbo'... remote: Counting objects: 43552, done. remote: Compressing objects: 100% (2/2), done. Receiving objects: 19% (8275/43552), 3.30 MiB | 154.00 KiB/s ....
二.git全局变量设置
git config --global user.name xialiang #设置用户名 git config --global user.email [email protected] #设置邮箱 git config --global color.ui true #显示的命令带有样式 git config --list #获取Git配置信息 #这些全局配置,会持久化到一个文件中,也可以对这个文件进行直接操作,效果一样 cat ~/.gitconfig
三.添加以及提交文件
#新建一个文件,这个文件将存放在于工作区 vim test #将这个文件添加到暂存区 git add test git add -A #将工作区所有的文件都添加到暂存区 #将暂存区的文件提交到版本库 git commit -m ‘add test file’ #-m 后面接的是本次提交的备注信息,如果直接git commit 直接提交,会打开一个编辑器让我们填写备注; git commit -am 'commit all' #将所有文件一次性提交到版本库,注意,在工作区新建的文件必须走先git add 然后才能添加到版本库 #提交文件后,查看提交的历史信息 git log
四.查看git状态
#查看当前工作区的状态 git status #上面的简写,显示更加简洁 git status -s
五.查看文件的差异
#查看工作区的文件与暂存区的区别 git diff #查看暂存区的文件与版本库的区别 git diff --staged (我偏向使用这个) git diff --cached #查看版本库中的文件与工作区的文件的区别 git diff head
如下图所示:
测试:将版本库中的文件修改添加到暂存区后,又作修改;此时查看状态应该是这样的
$ git status -s MM test分别用git diff ,git diff head ,git diff --staged进行对比
六.撤销操作
#将工作区的文件回滚到最近一次git commit(回滚到版本库)或git add(回滚到暂存区)时的状态。 git checkout fileName #将工作区或者暂存区的文件回滚到最近一次git commit(回滚到版本库)的状态 git checkout head filename #该命令既可以回退版本,也可以把暂存区的修改回退到工作区 git reset温馨提示:
git checkout fileName有两种情况:
一种是文件自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一样的状态;
一种是文件已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
七.删除文件与重命名文件
#删除版文件 git rm fileName #提交后删除文件 git commit #删除版本库中,但是保留工作区的文件,此时可以使用git reset进行回退 git rm --cached fileName #此时commit,文件会存在于工作区 git commit #重命名文件 git mv oldFile newFile git commit 例如修改 aa 为aa.txt git mv aa aa.txt git commit -m 'mv aa'
相关推荐
formula 2020-11-12
huhongfei 2020-11-05
乾坤一碼農 2020-10-27
liumengyanysu 2020-10-22
E哥的aws认证攻略 2020-10-15
guying 2020-10-05
好脑筋不如烂笔头 2020-09-17
baolen 2020-08-15
Equation 2020-08-09
Balmunc 2020-08-02
fenggou 2020-07-18
zhangxing 2020-07-05
loganwz 2020-07-05
tianyafengxin 2020-10-08
nebulali 2020-09-11