项目场景:
作为实习生,一直在帮公司搞C++的图像识别项目,因为总是改需求,所以我的代码注释的一大片,不便于整理,有时候改的改的,就找不到之前的版本了,于是领导让我改完程序就push到Git上,无奈我懒啊,哈哈哈,今天趁着学习,赶紧记录一下。
Git 的具体使用
1 当前版本的提交(add、commit)
在运行git commit命令之前,必须使用git add命令将任何新的或修改的文件添加到索引。
git add命令将文件内容添加到索引(将修改添加到暂存区)。也就是将要提交的文件的信息添加到索引库中。
$ git add . # 将所有修改添加到暂存区
$ git add * # Ant风格添加修改
$ git add *Controller # 将以Controller结尾的文件的所有修改添加到暂存区
$ git add Hello* # 将所有以Hello开头的文件的修改添加到暂存区 例如:HelloWorld.txt,Hello.java,HelloGit.txt ...
$ git add Hello? # 将以Hello开头后面只有一位的文件的修改提交到暂存区 例如:Hello1.txt,HelloA.java 如果是HelloGit.txt或者Hello.java是不会被添加的
git commit命令将索引的当前内容与描述更改的用户和日志消息一起存储在新的提交中。命令将索引的当前内容与描述更改的用户和日志消息一起存储在新的提交中。
$ git add .
$ # 或者~
$ git add newfile.txt
$ git commit -m "the commit message" #
$ git commit -a # 会先把所有已经track的文件的改动`git add`进来,然后提交(有点像svn的一次提交,不用先暂存)。对于没有track的文件,还是需要执行`git add <file>` 命令。
$ git commit --amend # 增补提交,会使用与当前提交节点相同的父节点进行一次新的提交,旧的提交将会被取消。
git add --all
git commit --all -m "这里边是你对版本的介绍"
2 查看之前指定版本(log、reset)
要想查看之前提交的版本,只需要两步,首先使用git log查看提交日志
git log
在显示完日志信息后,如下
可以看到各种信息啦,此时根据你之前对版本的备注以及时间,选择你想查看的信息,找到对应的ID号,这个ID很重要哦。
接下来使用 git reset指令:
git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。通常使用在当你git commit -m "注释"提交了你修改的内容,但内容有点问题想撤销,又还要提交,就使用soft,相当于软着路;
git reset -–hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉,相当于硬着路,回滚最彻底。
例如我想回将版本指定到图像中的ID,只需要输入一下命令就OK啦
git reset--soft dd7d982774391de8de85981729366545a2564880
3 恢复到最新版本(log、reset、reflog)
恢复也分为两步,如下:‘’
1 git log:查看历史提交
2 git reset+ID:恢复到最新版本
此时此时最重要的一点,假如你上一步回退的时候,使用的是gir reset --hard
此时此时,你就看不到最新版本的ID啦,这个时候怎么办呢?解决方案如下:
git reflog:查看每一次命令记录
1、git reflog看到被删除的commitid,下一步就可以用git reset --hard 被reset前的commitid 恢复到reset之前的版本
2、执行$git reset --hard f15dc99(被reset前的commitid)
好,就样子,散会
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)