Git学习教程一之安装Git&&&本地仓库建立

一. 安装git

1:在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项一直安装即可。

2:安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

3:你得在git中自报家门,输入你的名字以及email

$ git config --global user.name "Your Name"
设置你的用户名字
$ git config --global user.email "email@example.com"
设置你的用户邮箱

设置完成之后,检验一下你的名字和email是否设置正确

$ git config user.name
将会输出你刚才设置的用户名字,如果不对,请重新按照上述设置用户名
$ git config user.email
将会输出你刚才设置的用户邮箱,如果不对,请重新按照上述设置用户邮箱

至此,你的git已经安装并且设置完成

 

二. git创建本地仓库

1:打开git中的gitbash命令台

 

 2:创建本地仓库并将其设置为git可管理的仓库

$ mkdir learngit                                                  # 创建本地仓库learngit
$ git init                                                        # 使之变成git可以管理的仓库
Initialized empty Git repository in C:/Users/ltj/.git/            # 控制台告诉我们:这是一个空的仓库
$ pwd                                                             # 告知我们当前的仓库目录

3:此去文件管理中可查看到在该目录之下创建了一个文件(本地仓库):learngit

 

三. 添加文件以及提交文件

讲述这个之前我们需要先了解一下git的工作原理:

git总共分为3个部分工作区(也就是平常我们修改工作的地方),暂存区(暂时存放工作内容的地方stage),本地仓库(master)。接下来开始学习:

 

 添加文件到Git仓库,分两步:

1:添加文件至暂存区

$ git add readme.txt                    # 添加文件readme.txt至暂存区

2:提交文件至本地仓库learngit

$ git commit -m "first"                 # -m后面跟随的是输入的是本次提交的说明
# git commit该命令是将暂存区的所有内容提交至本地仓库learntgit

备注: git commit 只是将暂存区的所有内容提交至仓库中,而工作区的内容是不会被提交的。

举例:

1:你将文件1从工作区提交至暂存区,之后再本地修改文件1--->文件11。使用git commit 之后将提交文件1至仓库,则工作区的文件11内容不会被提交

2:你将文件1和文件2从工作区都提交至了暂存区。使用使用git commit 之后将同时提交文件1和文件2至仓库

 

四. 撤销修改

忽然发现自己写乱了一大堆代码&&也忘记了做的更改,此时我们需要将工作区的内容完全的丢掉,则使用以下命令即可

$ git checkout -- readme.txt          # 将版本库里的readme.txt内容重新替换工作区的文件readme.txt

不幸的是,我们刚才写乱的一大堆代码已经被提交至了暂存区,那么需要先将暂存区的内容重新放回至工作区。

之后再使用git checkout -- <file> 恢复内容即可

 

$ git reset HEAD readme.txt            #将暂存区的内容恢复至工作区
$ git checkout -- readme.txt           

 

很不幸,你还将错误的内容提交至了本地仓库。那么就需要回退版本了,参考接下来讲述的版本回退

更不幸的是,你讲他推送至了远程仓库,那么所有人都会拉取到你的错误的代码了。不能再进行回退了。所以,保重吧!!

 

五. 版本回退

工作过程中,我们修改了无数个版本。每一个版本都被提交至仓库。

我们首先来看看我们总共有几个版本:

$ git log                                                             # 使用该命令查看近期的修改过的版本
commit 05624fef1a62febc03d9970e23877f57ad2559f0 (HEAD -> master)      # 最近的一次修改以及该数字为本次修改的id
Author: linjing.guo <linjing.guo@11.com>
Date:   Fri Oct 11 15:56:38 2019 +0800

     add test.txt                             

commit 8a6ef3ab67fcba55d343b7789a2e63c4c95bfb36                       # 倒数第二次修改以及该数字为本次修改的id
Author: linjing.guo <linjing.guo@11.com>
Date:   Fri Oct 11 14:28:54 2019 +0800

    seconed

commit 84f30444837558ecf3c054ec09429b13a79477c5                       # 倒数第三次修改以及该数字为本次修改的id
Author: linjing.guo <linjing.guo@11.com>
Date:   Fri Oct 11 14:21:23 2019 +0800

    first

 

某一天,我们发现最近的版本出现了错误,此时需要回退至上一个版本了,则使用命令git reset --hard HEAD^即可回退到上一个版本。回退之后再来git log看看我们现在的版本,已经成功的回退到了上一个版本。

$ git reset --hard HEAD^

  $ git log
  commit 8a6ef3ab67fcba55d343b7789a2e63c4c95bfb36 (HEAD -> master)
  Author: linjing.guo <linjing.guo@11.com>
  Date: Fri Oct 11 14:28:54 2019 +0800

  seconed

  commit 84f30444837558ecf3c054ec09429b13a79477c5
  Author: linjing.guo <linjing.guo@11.com>
  Date: Fri Oct 11 14:21:23 2019 +0800

  first

问题又来了,如果我们想要回退到倒数第2次的版本呢,当然会有更简单的方法:git reset --hard (commit_id),回退到哪个版本的id时,id名字不用写全,写前几个可以让git辨别出来就可以了,但是不要只写一个啊,只写一个的话,可能会有2-3或者更多版本都会匹配到该数字

$ git reset --hard 8a6ef3

 

如果你说我已经从第5个版本回退到第2个版本了,这时候用git log只能查看到第一个版本和第二个版本的id了。那么中间缺少的几个版本怎么查看id呢?就回不去了吗?当然,是不可能的

这时候就需要用到git reflog来查看中间3,4,5的版本id号了,如果你想在跳转过去的话,仍旧使用上述命令git reset --hard (commit_id).

$ git reflog
$ git reset --hard 05624fe

总结:查看版本id时,使用 git log 查看当前版本之前的所有修改

           使用  git reflog 查看当前版本之后所有的命令历史,会有版本id哦

 

六.  删除文件

如果我们删除了某个文件,再使用 git status 查看当前的状态时,会提示某个文件已经被删除

接下来我们会有两种选择

1:该文件是被误删除了,此时需要从仓库中创建出新的出来。则使用命令 git checkout 即可

$ git checkout -- test.txt  

2:该文件就是应该被删除,此时就需要使用git命令来删除该文件并且将其提交到仓库中

$ git rm test.txt                                   # 删除文件test.txt
rm 'test.txt'

$ git commit -m"delete test.txt"                    # 将此次删除提交至仓库中
[master b5cd676] delete test.txt
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 test.txt

 

posted on 2019-04-15 18:49  小菜鸟920  阅读(241)  评论(0编辑  收藏  举报