Skip to main content

git 进阶操作命令

moremind...About 4 minGitgit

工作区与暂存区

工作区

Tips

工作区就是在你电脑上的Repository下的某一个工作目录,比如:F:\Repository\test01这个目录。test01这个目录就是工作区,或者你新建的任何一个目录,都是工作区(.git隐藏目录下并非工作区)

暂存区

Repository目录下有一个(.git隐藏目录),这个就是控制版本的版本控制库。

Tips

(.git隐藏目录)存储了Git为我们创建的各种信息,包括版本信息,暂存区(这是最重要的),还有分支信息(Git已经为我们创建了一个master分支),还有一些配置信息等。

接下来在Repository目录下新建一个test.txt文件,在里面写入123456,然后进行下面的这些操作。

git_add_commit3
git_add_commit3

继续在test.txt中添加一行数据,然后使用git status查看信息。git会提示你有文件需要git add 并且git commit。

继续下面的操作!---把同一个文件提交到同一个暂存区中,并且使用commit提交到一个分支中。

git_status_add_commit
git_status_add_commit
git_status_commit
git_status_commit

这次将所有文件提交到一个分支(master分支)中了,可以使用git log查看你提交的所有分支。

git_log4
git_log4

这样看起来很碍眼,而且版本较多的话,看起来的确不方便,所有推荐使用

git log --pretty=oneline

接下来,你可以使用上一篇git基础教程open in new window讲过的方法对版本进行操作。基本命令请点击链接去查看...

撤销修改与删除文件操作

撤销修改

最简单的方法:手动修改

在你记得你修改了那些地方的情况下,直接手动撤销那些你不要的东西即可。

使用之前所使用的命令进行版本回滚

具体命令如下:

git log --pretty=oneline

git reset --hard HEAD^

git reset --hard HEAD~*

git reflog

git reset --hard 版本号

你可以使用这些办法进行你所需要的回滚。

使用git checkout -- test.txt ,不然会创建分支!

git checkout --test.txt 分为两种状态

git checkout --test.txt
  1. test.txt文件修改后,你没有使用git add命令对其进行提交到暂存区。使用git checkout --test.txt会回退到之前的一个版本。相当于回滚到你最后提交的那个版本。而刚刚修改的内容也将全部丢失。
  1. 另一种情况就是你已经使用git add提交文件到暂存区了。那这样使用git checkout --test.txt 就会保存已经在暂存区的内容。而没有写入暂存区的内容则会全部丢失。

接下来使用git进行操作查看。

首先在test.txt文件中添加一行数据 654321,然后使用git add命令提交到暂存区。

git_add2
git_add2

接着再在test.txt文件中添加一行数据 222222,然后我们不使用git add命令提交文件到暂存区。

最后我们使用git checkout --test.txt命令撤销修改,在查看文件。

git_checkout
git_checkout

跟上面的结论是一样的。

删除文件

rm 命令(linux下的软删除命令)

假如有人提交了tesxt02.txt的文件,但是这个文件缺失不需要的,我们可以使用rm test02.txt,然后在git commit就可以了。

新建一个test02.txt 文件
git add test02.txt
git commit -m "提交test02文件"
rm test02.txt
git commit -m "删除test02文件"
git_commit4
git_commit4
rm
rm

说明已经删除了文件并且已经commit了,当然假如你删除错误的话,你也可以回滚版本。

git_reflog
git_reflog

假如你已经使用rm test02.txt命令,但是却没有使用git commit命令呢?又改如何恢复文件?你可以使用下面的命令:

git checkout --test02.txt

rm之前:

rm_before
rm_before

rm 之后:

git_rm_after
git_rm_after

然后我们不使用git commit命令,使用git checkout -- test02.txt

使用git checkout -- test02.txt之后

git_check_out
git_check_out

文件又恢复了,恢复多个文件也是同理。


 下面会涉及删除与撤销的操作!请继续浏览!

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8