Git学习笔记

1、版本回退

返回上个版本,返回后git log命令无法找到返回前版本

$ git reset –hard HEAD^

记录每一次命令,通过此命令找到返回前命令的commit id

$ git reflog

命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销

$ git checkout – readme.txt

这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。

Git同样告诉我们,用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区:

$ git reset HEAD readme.txt

2、工作区与暂存区

Git学习笔记_第1张图片
工作区(work dict)和暂存区(stage)的比较

git diff

暂存区(stage)和分支(master)的比较

git diff –cached

3、分支

查看分支:git branch

创建分支:git branch name

切换分支:git checkout name

创建+切换分支:git checkout -b name

合并某分支到当前分支:git merge name

删除分支:git branch -d name

查看分支合并图: git log –graph –pretty=oneline –abbrev-commit

4、标签

命令git tag tagname用于新建一个标签,默认为HEAD,也可以指定一个commit id;

命令git tag -a tagname -m “blablabla…”可以指定标签信息;

命令git tag可以查看所有标签。

命令git push origin tagname可以推送一个本地标签;

命令git push origin –tags可以推送全部未推送过的本地标签;

命令git tag -d tagname可以删除一个本地标签;

命令git push origin :refs/tags/tagname可以删除一个远程标签。

你可能感兴趣的:(学习笔记,git)