zoukankan      html  css  js  c++  java
  • 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

    读后有收获可以赞赏一下哦

  • 相关阅读:
    Java时间转换的一个特性
    JS处理数据四舍五入
    DataReader分页性能测试
    Java通过cal.get(Calendar.MONTH)比真实月份少一个月
    sqlserver split函数
    一个CLR20r3 错误解决。
    Devexpress dll搜集
    正则表达式:小括号、中括号、大括号的区别
    Android手机有的不显示Toast
    保存页面数据的场所----Hidden、ViewState、ControlState
  • 原文地址:https://www.cnblogs.com/xiaocainiao920/p/10712109.html
Copyright © 2011-2022 走看看