Git教程【安装及基本操作】
Git简介
Git(全局信息追踪器)。
Git是一个分布式版本控制工具,Git的使用中央仓库不是必须的,用户本地就是一个完整的版本仓库,代码的前进、回退、删除等等操作都可以直接在本地进行,不需要中央仓库。但是,在实际操作中,为了能够和其他同事快速沟通以及合并代码,一般还是会搭建一个中央仓库。Git对分支的管理非常友好,可以快速创建或者合并分支。
Svn集中式的版本控制工具,Svn中,必须要有中央仓库,所有的版本信息都保存在中央仓库中,代码的前进、回退、删除等等操作都需要在中央仓库中进行,用户本地保存的只是版本仓库的一个副本,Svn中的分支非常臃肿。
Git安装(windows)
官网下载
配置个人信息
打开窗口输入命令如下
git config --global user.name "xn"
git config --global user.email "[email protected]"
创建文件夹【命令操作和linux差不多】
将目录切换到你创建的文件夹下
初始化操作
通过git init命令把这个目录变成Git可以管理的仓库,创建成功后在该文件夹下会多出一个.git的文件夹。
git init
Git目录是用来来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了
基本操作
添加文件到版本库
创建一个普通文件
执行git add命令添加
git add heelo.txt
在执行下面这个命令
commit -m的-m后面跟的是本次操作的备注说明信息。最好是有意义的,也就是下次看到这个说明就清楚提交了什么内容。
为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add files"
status和diff命令
命令 | 说明 |
---|---|
git status | 说明 |
git diff | 是difference的简写是用来查看文件的变化的 (工作区和版本库) |
正常状态下执行这两个命令
对hello的文件进行修改
在执行这两个命令
前面命令告诉我们hello文件修改了,但是还没有提交
后面命令看到我们对这文件做了什么修改
用git add 添加后查看
it status告诉我们,将要被提交的修改包括hello,下一步,就可以放心地提交了
commit操作
提交后再执行 git commit 命令
Git告诉我们当前没有需要提交的修改,而且,工作目录是干净(working tree clean)的
命令 | 说明 |
---|---|
git status | 查看当前库的状态,add之前和commit之前都可以查看状态 |
git diff 文件名 | 查看文件修改前后的变化,在add命令之前执行 |
版本回退
log命令
刚刚我们对read.txt文件执行两次操作,我们还能记得住我们做了什么操作,但是当我们操作了一段时间后,修改的越来越多,那么我们就会忘记很多以前的操作。这时我们可以通过log命令来查看历史信息
git log命令显示从最近到最远的提交日志,每条日志信息占了五行记录,如果日志比较多的情况下。我们可以在命令后添加 –pretty=oneline单行来显示日志信息
提示‘27492ed2ca…’这一长串的信息既是版本号
版本回退
执行这个命令回退到上一次提交的版本
回到你想要的版本
版本回退其实就是指针的改变。有时候我们想要回退到以前的最新版本,这时候log命令查看不到对应的版本号,在次场景下我们可以通过git reflog来查看
小结:
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
切换前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要切换未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。