2.文件操作

添加文件到版本库
先保证文件在之前创建的仓库目录下
第一步,用命令 git add <file>告诉Git,把文件添加到仓库:(执行完后没什么显示就对了)
第二步,用命令 git commit告诉Git,把文件提交到仓库:( -m后面输入的是本次提交的说明,可以输入任意内容)

注意:commit可以一次提交很多文件,所以你可以多次add不同的文件。
修改文件
先将readme.txt的内容改一下
运行 git status命令看看结果:

git status命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,readme.txt被修改过了,但还没有准备提交的修改。
运行 git diff <file>命令查看修改的内容:

提交修改和提交新文件是一样的两步

这里Git提示当前没有需要提交的修改,工作目录是干净(working directory clean)的。
版本回退
你可以不断对文件进行修改,然后不断提交修改到版本库里。每当你觉得文件修改到一定程度的时,就可以“进行一个存档”,在Git中被称为 commit。一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失。
运行 git log命令查看历史记录

git log命令显示从最近到最远的提交日志
运行 git log --pretty=oneline命令

上面黄色的一大串是版本号commit id
在退回上一个版本之前Git需要知道当前是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交的commit id(每个人的是不一样的),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
运行 git reset --hard HEAD^命令返回上一个版本
运行 cat readme.txt查看

已经回到了上一个版本,现在用git log 查看一下状态

此时可以看见,最新那个版本已经没有了。如果想要再回到之前那个版本就要在当前命令窗口没关闭的情况下找到之前那个版本的commit id,在进入就行。(版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。)

Git提供了一个git reflog命令来查看你执行的每一条历史命令
运行 git reflog命令

可以使用这个命令去查找以前的版本号
注意:
Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向append GPL:

改为指向add distributed:

然后顺便把工作区的文件更新了。所以你让HEAD指向哪个版本号,你就把当前版本定位在哪。

猜你喜欢

转载自blog.csdn.net/sinat_37888718/article/details/80220877
今日推荐