git教程

2016-07-23  本文已影响36人  rlqs

git教程

git reflog

git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录

具体一个例子,假设有三个commit, git st:

commit3: add test3.c

commit2: add test2.c

commit1: add test1.c

如果执行git reset --hard HEAD~1则 删除了commit3,如果发现删除错误了,需要恢复commit3,这个时候就要使用git reflog

HEAD@{0}: HEAD~1: updating HEAD

63ee781 HEAD@{1}: commit: test3:q

红色加粗的即是被删除了的 commit3,运行git log则没有这一行记录

可以使用

git reset --hard 63ee781 

将红色记录删除,则恢复了cmmit3,运行git log后可以看到:

commit3: add test3.c

commit2: add test2.c

commit1: add test1.c

这里也可以使用另外一种方法来实现:

git cherry-pick 63ee78

git status //查看状态

git config alias.st status//起别名,只在当前项目里有效

git config alias.ci commit

git config —global alias.st status//全局的别名

git log main.c//查看main.c的所有日志

git log文件名

git reflog main.c

git reset —hard HEAD^//—hard 代表强制HEAD^ 代表上一个版本

git reset —hard id //回到任一个版本

git diff main.c//查看文件修改前后的不同,如果不加文件名,则显示所有的修改

git checkout main.c //未提交代码时,回退到上一次提交的版本

git reset —hard HEAD //回退到上一次提交的版本

git clone 服务器地址 //从服务器克隆代码

git tag -a v1.0 -m ‘Version 1.0’ //在本地代码库给项目打一个标签

git tag //查看当前标签

git push origin v1.0 //讲标签推送到远程代码库中

git checkout v1.0 //导出标签为v1.0的代码

git checkout -b fixbug1.0 //创建新的分支fixbug1.0

git branch -r //查看远程分支

上一篇 下一篇

猜你喜欢

热点阅读