git是一个开源的分布式的版本控制工具,是由linux系统的始祖linus编写完成的,自上线以来,迅速成为最受欢迎的版本控制工具之一。目前许多公司的开源项目都会放在github上。目前常用的版本控制工具还有svn,cvs等。
部分git名词:
工作区
暂存区
分支
版本库
仓库
远程仓库
二、git安装
我使用的操作系统是CentOS6.5,一般情况git是没有安装的,但git的安装非常方便,只需把本地镜像挂载上去,使用yum安装即可
三、git使用
1.创建版本库
首先先建立一个git的工作目录
进入工作目录,执行
git init
生成一个git仓库
你所要管理的代码,文件都应放在git仓库下,不然git无法处理,本例中的git仓库为/root/git_study。
2.git常用操作
新建文件test.txt
2.1、把文件添加到仓库,这里就是把文件从工作区扔到暂存区,通过git status查看当前版本库文件状态信息
git add
把文件提交到当前分支,其实就是把文件从暂存区提交到了当前分支,git commit是把当前所有提交到暂存区的文件全部提交到当前分支,通过git status查看当前版本库文件状态信息
git commit --message "提交的说明信息",message可简写为m
修改test.txt文件,查看当前版本库文件状态信息
根据提示可知文件已经被修改,但暂时未被提交到暂存区,也有提示我们要如何做
查看当前工作区文件的修改
git diff filename>
将当前修改过的版本提交到版本库
那么当前版本库中就有两个版本的test.txt文件,分别是最初创建时提交的版本和后来添加了一句话的版本
查看版本提交日志
git log
这样显示的内容有点多,可以使用以下命令
git log --pretty=oneline
这里博主又添加了一个版本到版本库
2.2、版本回退
回退到上一个版本,即add new版本
git reset --hard HEAD^
提示我们已经回退到add new的版本,查看文件内容,发现回退成功,是不是功能很强大
显示用户的操作日志
git reflog
这里第一个字段是commit id,和前边使用git log查出来的一致,这里取得是前几个字符,如果想要回退到哪个操作,可以使用以下命令
git reset --hard commit id
例如再回到add twice版本
查看文件可以发现已经回归到add twice版本
2.3、撤销修改
因为自己一不小心在文件中写了不好的东西,但还未git add ,可以使用以下命令撤销修改
git checkout -- 文件名
git做的很全面,也可以从git status中查看提示进行操作
查看文件可知,已经撤销修改,回退的是最近git commit或者git add时的状态
如果自己已经git add到暂存区,怎么修改?
首先撤回已经提交到暂存区的内容
git reset HEAD 文件名
然后撤回工作区的修改,查看文件已经撤销修改
2.4、删除文件
按照正常的删除文件,直接rm -rf 文件名就解决了
但版本库中还有,如果要删除版本库的文件,使用以下命令并git commit
git rm 文件名
这是查看git status就正常了
这样最近一次的修改会被删除,但依旧可以回到test.txt的其它版本
2.5、远程仓库