Git-01-安装及基本操做 14/100

Git简介

  Git(全局信息追踪器)。   Git是一个分布式版本控制工具,Git的使用中仓仓库不是必须的,用户本地就是一个完整的版本仓库,代码的前进、回退、删除等等操做均可以直接在本地进行,不须要中央仓库。可是,在实际操做中,为了可以和其余同事快速沟通以及合并代码,通常仍是会搭建一个中央仓库。Git对分支的管理很是友好,能够快速建立或者合并分支。   Svn集中式的版本控制工具,Svn中,必需要有中央仓库,全部的版本信息都保存在中央仓库中,代码的前进、回退、删除等等操做都须要在中央仓库中进行,用户本地保存的只是版本仓库的一个副本,Svn中的分支很是臃肿。git

Git Windows下安装

1.官网下载

git官网windows

安装

双击安装、一直默认安装就能够了分布式

安装成功

安装后在开始中会出来git的相关菜单 在这里插入图片描述工具

同时鼠标右键也有git的相关菜单选项 在这里插入图片描述编码

配置我的信息

安装成功咱们还要进行我的信息的设置 在这里插入图片描述 输入以下命令:版本控制

git config --global user.name "pengs"
git config --global user.email  "694835275@qq.com "

建立文件夹

在这里插入图片描述 也能够到指定的文件夹下面右击 在这里插入图片描述指针

初始化操做

  经过git init命令把这个目录变成Git能够管理的仓库,建立成功后在该文件夹下会多出一个.git的文件夹。日志

git init

在这里插入图片描述   Git目录是用来来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,否则改乱了,就把Git仓库给破坏了。code

基本操做

添加文件到版本库

<font color="red">注意</font> 在window系统中,编辑文件不要使用记事本操做,由于在操做中文的时候会有问题,推荐用Notpad++,可是编码方式得设置下。 在这里插入图片描述blog

建立一个普通文件

在这里插入图片描述 在这里插入图片描述

执行==git add== 命令添加到仓库

 执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功

$ git commit -m "第一次提交"
[master (root-commit) d3e411b] 第一次提交
 1 file changed, 1 insertion(+)
 create mode 100644 hello.txt

    commit -m的-m后面跟的是本次操做的备注说明信息。最好是有意义的,也就是下次看到这个说明就清楚提交了什么内容。

      为何Git添加文件须要add,commit一共两步呢?由于commit能够一次提交不少文件,因此你能够屡次add不一样的文件

status和diff命令

|命令| 说明| |--|--| |git status |查看当前库的状态 | |git diff | 是difference的简写是用来查看文件的变化的 (工做区和版本库) |

正常状态下执行两个命令

在这里插入图片描述 在这里插入图片描述

对hello.txt文件进行修改

hello git
hello git pszzzz

执行status命令

注意: 没有执行git add命令

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   hello.txt

no changes added to commit (use "git add" and/or "git commit -a")

状态信息告诉咱们read.txt文件被修改了,可是尚未被提交

执行diff命令查看不一样

$ git diff
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory
diff --git a/hello.txt b/hello.txt
index 7b5bbd9..4f59ef0 100644
--- a/hello.txt
+++ b/hello.txt
@@ -1 +1 @@
-hello Git
+hello Git pszzzz

 经过此命令咱们可以看到增长的是 hello git 2这行信息,知道了对readme.txt做了什么修改后,再把它提交到仓库就放心多了,提交修改和提交新文件是同样的两步 git status告诉咱们,将要被提交的修改包括readme.txt,下一步,就能够放心地提交了

Git告诉咱们当前没有须要提交的修改,并且,工做目录是干净(working tree clean)的

| 命令|说明 | |--|--| | git status | 查看当前库的状态,add以前和commit以前均可以查看状态 | | git diff 文件名| 查看文件修改先后的变化,在add命令以前执行 |

版本回退

log命令

刚刚咱们对hello.txt文件执行两次操做,咱们还能记得住咱们作了什么操做,可是当咱们操做了一段时间后,修改的愈来愈多,那么咱们就会忘记不少之前的操做。这时咱们能够经过log命令来查看历史信息

$ git log hello.txt
commit c0dfa343063650dfc07ed264345ee342a64a4fd7 (HEAD -> master)
Author: ps <694835275@qq.com>
Date:   Sun May 12 10:13:39 2019 +0800

    修改了hello内容

commit d3e411ba30e27624eb60a72eb0e256651cce0094
Author: ps <694835275@qq.com>
Date:   Sun May 12 09:31:24 2019 +0800

    第一次提交

git log命令显示从最近到最远的提交日志,每条日志信息占了五行记录,若是日志比较多的状况下。咱们能够在命令后添加 ==–pretty=oneline==单行来显示日志信息

$ git log --pretty=oneline
c0dfa343063650dfc07ed264345ee342a64a4fd7 (HEAD -> master) 修改了hello内容
746eedfaa33033add248c2ec01a2d5da25a53816 第二次提交文件
d3e411ba30e27624eb60a72eb0e256651cce0094 第一次提交

==提示==‘d3e411ba…’这一长串的信息既是==版本号==

版本回退

回退到上一个版本

git reset --hard HEAD^

回到指定版本

git reset --hard a1d1909f5

a1d1909f5版本号 首先咱们发现信息被咱们找回来了,其次‘a1d1909f5’是最新版本的版本号,虽然不全,可是前几位要正确,git会自动匹配   Git的版本回退速度很是快,由于Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向first update file 在这里插入图片描述 回退后 在这里插入图片描述   版本回退其实就是指针的改变。有时候咱们想要回退到之前的最新版本,这时候log命令查看不到对应的版本号,在次场景下咱们能够经过git reflog来查看

$ git reflog
c0dfa34 (HEAD -> master) HEAD@{0}: commit: 修改了hello内容
746eedf HEAD@{1}: commit: 第二次提交文件
d3e411b HEAD@{2}: commit (initial): 第一次提交

HEAD指向的版本就是当前版本,所以,Git容许咱们在版本的历史之间穿梭,使用命令git reset --hard commit_id。 切换前,用git log能够查看提交历史,以便肯定要回退到哪一个版本。 要切换将来,用git reflog查看命令历史,以便肯定要回到将来的哪一个版本

相关文章
相关标签/搜索