之前的已经讲述了什么是 Git 的仓库,并且添加了文件到 Git 的仓库,这里我们来学习下一些简单的操作。
status 和 diff
之前我们已经提交了了一个 testFile.txt 的文件,现在我们修改这个文件。我们往这个文件里面追加一行内容。使用 status 进行查看:
hubwiz@bad97b95201f:~/learngit$ git status # On branch master # Changes not staged for commit: # (use "git add..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: testFile.txt # no changes added to commit (use "git add" and/or "git commit -a")
我们可以看到 status 命令告诉我们 testFile.txt 文件已经被修改,但是没有提交。
我们这里使用 git diff 命令查看改动的内容:
hubwiz@bad97b95201f:~/learngit$ git diff diff --git a/testFile.txt b/testFile.txt index 5f1bf21..a70afd3 100644 --- a/testFile.txt +++ b/testFile.txt @@ -1 +1,2 @@ the first file for test git +study status and diff command
我们通过对比发现 testFile.txt 文件添加了一行 “study status and diff command“ 接下来用 git add 和 git commit 将文件添加并且提交。
hubwiz@bad97b95201f:~/learngit$ git add testFile.txt hubwiz@bad97b95201f:~/learngit$ git commit -m "add status and diff command" [master cfd9766] add status and diff command 1 file changed, 1 insertion(+)
log
到这里我们已经提交了两次了,我们如何查看提交的历史呢?可以使用 git log 命令。
hubwiz@bad97b95201f:~/learngit$ git log commit cfd976666ffd0067a1505eb7ee28303feb392f4d Author: Jeff.MaDate: Wed Mar 1 14:57:51 2017 +0000 add status and diff command commit 0de43c0a4040a129652b74214b638a1b6e62cad0 Author: Jeff.Ma Date: Tue Feb 28 14:50:10 2017 +0000 First commit the file for test Git
可以看到两次提交的信息都打印出来了,最新的提交是在最上面显示的。而其中的 commit 后面的内容就是版本号。
reset
突然发现这次提交是不正确的,我们要回退到上个版本。可以使用 git reset --hard HEAD^
hubwiz@bad97b95201f:~/learngit$ git reset --hard HEAD^HEAD is now at 0de43c0 First commit the file for test Git
这样我们就回退到上个版本了。我们可以使用 git reset --head <版本号> 回退到指定的版本
当然凭借我们的记忆是无法记住每次的版本号的,那么怎么办?有人说可以使用 git log 查看,那么你可以试下,当你回退到上个版本的时候再使用 git log 将没有办法看到我们在学习 status 时候的改动了。那么怎么办呢? 这里我们可以使用 git relog 进行查看的。
hubwiz@bad97b95201f:~/learngit$ git reflog 0de43c0 HEAD@{ 0}: reset: moving to HEAD^ 4ad0b03 HEAD@{ 1}: commit: add aaa 0de43c0 HEAD@{ 2}: reset: moving to HEAD^ cfd9766 HEAD@{ 3}: commit: add status and diff command 0de43c0 HEAD@{ 4}: commit (initial): First commit the file for test Git
到这里我想大家应该对 Git 有了进一步的认识了吧,那还不赶紧自己动手试试!!!这里我想说下,本人的帖子都很短,并不是不想写这么多,而是觉得写的多了,一些读者看了后面就忘记前面的内容了,索性每次写一点点,然后读者看了后就去自己练习一下,会提升很大,毕竟真正的实践才会有所帮助。不多说了,洗碗去了!!!加油!!!