Git版本库的使用

什么是版本库

    版本库简单理解其实就是一个目录,在这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,在将来某个时刻可以“还原”成历史时刻中的随意一个版本。

创建版本库

    首先,打开Git Bash,在配置好name和email标识后,选择一个合适的路径(避免中文和空格的出现),创建一个空目录,进入该目录
 mkdir learngit
 cd learngit
 pwd
/Users/michael/learngit

pwd命令用于显示当前目录。

   第二步,初始化版本库,通过git init命令把这个目录初始化成一个Git仓库

git init
Initialized empty Git repository in /gitReposity/.git/
初始化后,在该目录下回多一个.git文件夹,这个文件夹是用来管理当前这个Git仓库的,一定要避免修改这个文件夹,它是一个隐藏文件夹,也可以用 ls -ah 让它显示。

文件添加版本库

    版本控制的版本跟踪,只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片、视频这些二进制文件,版本控制系统无法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。

    第一步,在仓库里创建一个read.txt,然后通过下面的命令将这个添加到本地仓库中,也是就让git记录下添加的这个修改动作。

git add readme.txt

    第二步,用命令git commit告诉Git,把文件提交到仓库

   

    git commit <文件名> -m “<提交是添加的注释>”

    如果进入vim按I进行输入,按Esc退出输入模式,然后输入:wq(或者其他)命令退出vim编辑器。

为什么Git添加文件需要addcommit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

 git add file1.txt
 git add file2.txt file3.txt
 git commit -m "add 3 files."

版本回退

在对仓库内的文件进行了修改,但是还未执行添加和提交命令时,git status命令可以让我们时刻掌握仓库当前的状态。

   

    从上方的红字 modified: read.txt  告诉我们read.txt文件进行了修改,如果我们记不住修改了什么,可以通过git diff 查看修改了哪个部分

   

    命令显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到,此次改动是在第一行添加了一串字符,这个查询状态以及代码对比都是在未提交情况下进行执行的。

    每次我们对文件修改提交后都会有一个记录,方便我们回退到当时的记录版本,通过git log命令显示从最近到最远的提交日志,如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数。

   

    可以看到我们有很多的提交记录,commit id 是一串看不懂的字符,它是一个SHA1计算出来的一个非常大的数字,用十六进制表示,而且你看到的commit id和我的肯定不一样,以你自己的为准,用可视化如下图:

   

    由上图知道当前的仓库是commit id :4bb7f1a6e63609107bd476e2d02c6cf8a035a47c  这个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^  如果版本较多,可以直接写成HEAD~100

  使用git reset命令进行回退

git reset --hard HEAD^
HEAD is now at ea34578 add distributed

    或者是用 git reset --hard <版本号,没必要写全,前几位就可以了>

git reset --hard 3628164
HEAD is now at 3628164 append GPL

   

  当然,如果在回退版本后感觉操作错误,也可以通过命令git reflog用来查询你的每一次命令(提交、reset)

   


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜马拉雅以南

奶茶,干杯?!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值