git操作-时光机穿梭[版本控制]基本命令

windows操作

第1步:任意盘符新建文件夹,右击鼠标点击git Bash(没有安装的自行安装)

第2步:通过git init命令把这个目录变成Git可以管理的仓库:

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

Git建好了仓库后会自动生成.git的目录,ls -ah命令就可以看见。

第3步:在仓库目录里新建abc.txt,编辑内容如下:

Git is a version control system.
Git is free software.

第4步:用命令git add告诉Git,把文件添加到仓库:

$ git add abc.txt

输入上面命令,回车就可以了(无消息返回)

第5步:用命令git commit告诉Git,把文件提交给仓库:

$ git commit -m "wrote a readme file"
[master (root-commit) eaadf4e] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt

git commit命令,-m后面输入的是本次提交的说明(输入任意内容)

因为我们已经在仓库目录里新建了abc.txt,直接修改内容为:

Git is a distributed version control system.
Git is free software.

第6步:我们可以通过运行git status命令看看显示结果:

$ 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:   abc.txt

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

git status命令可以让我们时刻掌握仓库当前的状态,上面的命令输出告诉我们,abc.txt被修改过了,但还没有准备提交的修改。

我们想进一步看看具体修改了什么内容,用git diff命令即可以查看。

第7步:输入git diff 回车

$ git diff abc.txt 
diff --git a/readme.txt b/abc.txt
index 46d49bf..9247db6 100644
--- a/abc.txt
+++ b/abc.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
 Git is free software.

从上面的命令输出看到,我们在第一行添加了一个distributed单词。

第8步:因为修改过abc.txt文件所以需要再次输入git add abc.txt 提交给仓库(回车无信息显示)

也可以用git status命令查看 待提交文件变为绿色(git add命令前为红色)

第9步:git commit -m "描述记忆类(文字随意)"

$ git commit -m "add distributed"
[master e475afc] add distributed
 1 file changed, 1 insertion(+), 1 deletion(-)

提交后我们在用git status查看仓库的当前状态:

$ git status
On branch master
nothing to commit, working tree clean

以上为仓库建立和文件提交,修改,主要用到了git add \ git commit \git status命令。

接下来我们操作如何进行版本回退。

上面操作步骤我们对abc.txt进行了一次修改

原始内容:

Git is a version control system.
Git is free software.

修改后内容:

Git is a distributed version control system.
Git is free software.

第1步:我们使用git log命令即可以查看所有修改记录,

$ git log
commit 1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master)
Author: Michael Liao <[email protected]>
Date:   Fri May 18 21:06:15 2018 +0800

    append distributed

commit e475afc93c209a690c39c13a46716e8fa000c366
Author: Michael Liao <[email protected]>
Date:   Fri May 18 21:03:36 2018 +0800

简洁信息输出git log后面加上--pretty=oneline参数:

$ git log --pretty=oneline
1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master) append distributed
eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0 wrote a readme file

准备把abc.txt回退到上一个版本,也就是原始的那个版本,怎么做呢?

第2步:git reset命令输入

$ git reset --hard HEAD^
HEAD is now at e475afc add distributed

第3步:cat abc.txt命令查看文件内容

$ cat abc.txt
Git is  a version control system.
Git is free software.

发现已经回退到上个版本的内容了。

如果想继续恢复其它版本,可以继续使用git log查看其它提交版本编号,根据编号进行版本回退。

备注:恢复后发现不对,想再次回到原先版本怎么办,操作窗口关闭,相合命令编号不记得了,没事,git提供后悔药,对每次操作都做了记录。我们可以通过git reflog

$ git reflog
e475afc HEAD@{1}: reset: moving to HEAD^
1094adb (HEAD -> master) HEAD@{2}: commit: append GPL
e475afc HEAD@{3}: commit: add distributed
eaadf4e HEAD@{4}: commit (initial): wrote a readme file

使用命令git reset --hard commit_id 即可回到你想到的任意版本。

猜你喜欢

转载自blog.csdn.net/lizhengwei26/article/details/81185117