适合新手小白的Git使用教程(二)

3 篇文章 0 订阅

适合新手小白的Git使用指南(二)

@[命令行|Git|代码管理]


本地版本控制

git status

使用git status命令查看当前库状态

$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   mytext.txt

可见,这个时候mytest是新文件,还未被提交至版本库
使用git commit命令提交

$ git commit -m "the first commit"
[master (root-commit) b75ed50] the first commit
 1 file changed, 1 insertion(+)
 create mode 100644 mytext.txt
$ git status
On branch master
nothing to commit, working tree clean

woking tree clean 说明此时工作环境干净,也就是说没有更改的东西

git diff

git diff命令查看更改前后的文件区别

$ git diff mytext.txt
diff --git a/mytext.txt b/mytext.txt
index dd6bcc2..da44a0c 100644
--- a/mytext.txt
+++ b/mytext.txt
@@ -1 +1,2 @@
-This is my test
\ No newline at end of file
+This is my test
+lalalla
\ No newline at end of file

说明我在原来的文件上添加了一句lalalla
再使用git add 添加到待提交区,git
commit提交到库

git log

git log 命令查看git的日志,方便自己忘了什么的时候可以随时查看和版本控制

$ git log
commit 431db2e3f3ca535b26ca853e346aea704abb3260 (HEAD -> master)
Author: ycdxsb <1452740432@qq.com>
Date:   Sat Jan 20 10:49:03 2018 +0800

    my second change

commit b75ed500f574c735d9287ead61993d378038c9f6
Author: ycdxsb <1452740432@qq.com>
Date:   Sat Jan 20 10:42:28 2018 +0800

    the first commit

如果觉得每一个的输出东西太多,可以加上–pretty=oneline

$ git log --pretty=oneline
431db2e3f3ca535b26ca853e346aea704abb3260 (HEAD -> master) my second change
b75ed500f574c735d9287ead61993d378038c9f6 the first commit

后面的一串数字是它对应的版本号

版本回退

在Git中,用HEAD表示当前版本,也就是最新的提交,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

使用 git reset回退到上一版本

14527@DESKTOP-51QO2KL MINGW64 ~/Desktop/versions (master)
$ git reset --hard HEAD^
HEAD is now at b75ed50 the first commit

14527@DESKTOP-51QO2KL MINGW64 ~/Desktop/versions (master)
$ cat mytext.txt
This is my test

此时查看git log,可以看到版本已经回退了

$ git log
commit b75ed500f574c735d9287ead61993d378038c9f6 (HEAD -> master)
Author: ycdxsb <1452740432@qq.com>
Date:   Sat Jan 20 10:42:28 2018 +0800

    the first commit

也可以直接指定版本号回退

git reset --hard b75ed50

这里的版本号是前7位

如果一不小心回退错了,不要着急,还是可以回去的

使用git reflog命令可以查看之前的每一次操作记录

$ git reflog
b75ed50 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
431db2e HEAD@{1}: commit: my second change
b75ed50 (HEAD -> master) HEAD@{2}: commit (initial): the first commit

找到了前一次的版本号,所以直接用版本号回退

$ git reset --hard 431db2e
HEAD is now at 431db2e my second change
$ cat mytext.txt
This is my test
lalalla

说明已经回退对了

工作区和暂存区

简单的说,工作区就是打开目录看到的区域,而暂存区又包含stage和master,当使用add命令时提交到stage,只有再使用commit命令才会提交到master版本库中,而HEAD,就相当于一个头指针,它指向当前的版本

撤销修改git checkout

使用git checkout命令可以撤销对工作区中文件的修改(就相当于退出但不保存修改的感觉)

$ git checkout -- mytext.txt

如果已经在暂存区,则可以使用git reset HEAD file把修改回退到工作区 ,最后用之前的命令重置一下工作区的文件

文件删除

rm mytext.txt删除工作区文件
git rm mytext.txt删除版本库中文件,并且git commit

致谢:
廖雪峰大大的git教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值