Git(全局信息追踪器)。 Git是一个分布式版本控制工具,Git的使用中央仓库不是必须的,用户本地就是一个完整的版本仓库,代码的前进、回退、删除等等操做均可以直接在本地进行,不须要中央仓库。可是,在实际操做中,为了可以和其余同事快速沟通以及合并代码,通常仍是会搭建一个中央仓库。Git对分支的管理很是友好,能够快速建立或者合并分支。 Svn集中式的版本控制工具,Svn中,必需要有中央仓库,全部的版本信息都保存在中央仓库中,代码的前进、回退、删除等等操做都须要在中央仓库中进行,用户本地保存的只是版本仓库的一个副本,Svn中的分支很是臃肿。linux
打开窗口输入命令以下windows
git config --global user.name "xn" git config --global user.email "xn@143.com"
将目录切换到你建立的文件夹下 分布式
经过git init命令把这个目录变成Git能够管理的仓库,建立成功后在该文件夹下会多出一个.git的文件夹。工具
git init
Git目录是用来来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,否则改乱了,就把Git仓库给破坏了3d
添加文件到版本库版本控制
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"
命令 | 说明 |
---|---|
git status | 说明 |
git diff | 是difference的简写是用来查看文件的变化的 (工做区和版本库) |
前面命令告诉咱们hello文件修改了,可是尚未提交code
后面命令看到咱们对这文件作了什么修改
it status告诉咱们,将要被提交的修改包括hello,下一步,就能够放心地提交了
Git告诉咱们当前没有须要提交的修改,并且,工做目录是干净(working tree clean)的 | 命令 |说明 | |--|--| | git status | 查看当前库的状态,add以前和commit以前均可以查看状态| | git diff 文件名| 查看文件修改先后的变化,在add命令以前执行|
刚刚咱们对read.txt文件执行两次操做,咱们还能记得住咱们作了什么操做,可是当咱们操做了一段时间后,修改的愈来愈多,那么咱们就会忘记不少之前的操做。这时咱们能够经过log命令来查看历史信息 git log命令显示从最近到最远的提交日志,每条日志信息占了五行记录,若是日志比较多的状况下。咱们能够在命令后添加 –pretty=oneline单行来显示日志信息
提示‘27492ed2ca…’这一长串的信息既是版本号
执行这个命令回退到上一次提交的版本
版本回退其实就是指针的改变。有时候咱们想要回退到之前的最新版本,这时候log命令查看不到对应的版本号,在次场景下咱们能够经过git reflog来查看
小结: HEAD指向的版本就是当前版本,所以,Git容许咱们在版本的历史之间穿梭,使用命令git reset --hard commit_id。 切换前,用git log能够查看提交历史,以便肯定要回退到哪一个版本。 要切换将来,用git reflog查看命令历史,以便肯定要回到将来的哪一个版本。