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 //查看远程分支
网友评论