Git reflog

一、简介

git reflog 用来查看所有分支的所有操作记录,包括commit和reset的操作,也包括已经被删除的commit记录。对于恢复项目历史,reflog是一个超棒的资源,通过reflog可以恢复几乎 任何commit 过的东西。

 

二、注意事项

1、它涉及的只是 HEAD 的改变。在你切换分支、用 git commit 进行提交、以及用 git reset 撤销 commit 时,HEAD 会改变,但当你用  git checkout撤销时,HEAD 并不会改变 — 如前所述,这些修改从来没有被提交过,因此 reflog 也无法帮助我们恢复它们。
2、git reflog 不会永远保持。Git 会定期清理那些 “用不到的” 对象。不要指望几个月前的提交还一直躺在那里。
3、你的 reflog 就是你的,只是你的。你不能用 git reflog 来恢复另一个开发者没有 push 过的 commit。

 

三、教程

http://blog.csdn.net/ibingow/article/details/7541402
时间: 2024-10-27 05:30:28

Git reflog的相关文章

git切换分支导致代码丢失找回(git reflog找回错误的重置)

1.使用git reflog查看日志 2.切换到丢失的分支 3. 创建一个临时分支  如(diff),并切换到dev(原分支),然后合并diff到dev分支 4.查看状态 5. 原文地址:https://www.cnblogs.com/chenlove/p/9547301.html

Git log和reflog

1.log  log命令可以显示所有提交过的版本信息.显示信息如下: [email protected] MINGW64 ~/Desktop/lyf (master) $ git log commit e1bdff6e4830e09383078c860f45334d03771b03 (HEAD -> master) Author: lyf1995 <[email protected]> Date: Sat Dec 16 11:47:59 2017 +0800 第二次提交 commit 6

linux下git常用命令

1 安装: sudo apt-get install git 2 创建一个版本库: 新建一个文件夹,进入这个目录之后 git init 3 创建一个版本: git add 文件名或目录 #表示将当前文件的修改放入缓存区 先不提交 git commit -m '版本名称' #将缓冲区提交建立一个版本 4 查看版本记录 geit log 每条一行查看版本信息 git log --pretty=oneline 按图形方式查看 有合并版本的时候很清晰 git log --pretty=oneline -

Git 版本控制系统的基本使用、常用操作

以Ubuntu16.04操作系统为例(其他系统类似),主要记录常用的.基本操作: 0. 安装Git 分散型版本控制系统(CVS): sudo apt-get install git 1. 初始化本地配置git或其他配置等(配置仓库或者全局选项) git config --global user.name "your_name" git config --global user.email "[email protected]" git config --global

Git 中级用户的25个小贴士

原文链接:25 Tips for Intermediate Git Users 作者:Andy Jeffries 时间:2009年11月1日 更新:这篇文章最初是在 2009年11月 发布到我的博客,它一直没有更新--不过有许多人发现这篇文章很有用,所以我想保持下去.请不要评论说"这些已经不再是中级小贴士了". 我使用 git 大约 18 个月了,以为自己已经比较了解 git 了.但当我们请 GitHub 的 Scott Chacon 来 LVS 公司(博彩/游戏软件开发商)做一些培训

我的git与github学习历程

因为想要知道如何把代码放到github上,所以就百度了一下,然后找到一个<如何从github上面拷贝源码>的文章,就先进行练习了下 1.首先到git官网下载git版本控制工具的安装包,下载好双击安装,所有的步骤我都默认的. git官网:http://git-scm.com/download/ 2.然后安装完成我把没打勾的地方都打勾了,然后点击完成就出现如下图蓝色网页和黑色弹框,蓝色网页的网址: file:///D:/Program%20Files/Git/ReleaseNotes.html 看

Gi之(二)Git基础命令

三个工作区域 使用Git之前,首先要弄清Git的三个管理区域,有助于理解Git的运行原理,以及每个Git命令对文件造成的影响. 对于任何一个文件,在本地的Git内部都有三种状态: l   已修改(modified) 表示修改了某个文件,但还没有提交保存.包括新增.删除了一个文件,也属于已修改状态的一种. l   已暂存(staged) 表示把已修改的文件放到了暂存区,也就是放到了下次提交时的清单中. l   已提交(committed) 表示该文件已经被安全地保存在本地数据库中了. 三种状态对应

git常用命令常用场景

在使用git之前,一直用的是svn版本管理:与svn最大不同的是,git有两个仓库,一个是本地仓库,一个是服务器上共享的仓库:本地仓库是每个开发者自己独有的,即使commit提交也只是提交到本地仓库:这只是git流行起来的一个优势之一,另外linux作者开发的这套版本管理工具,很接地气,也是流行起来的一大亮点.扯了这么多没用的,言归正卷,那么在日常开发工作中,哪些git命令是我们常用到的呢?下面就说说几个常用命令的常用场景,至于这些命令详细使用就不在本文讨论之内. 1.git命令别名 使用过gi

Git 版本管理

应用情景1:添加文件(单个.多个.目录)到Git版本库,提交一个版本快照. 应用情景2:穿越历史回到过去,版本回退,从当前版本回退到之前提交过的某个版本上. 应用情景3:穿越历史过头了,版本回退多了,目的时间是2000年,结果硬是穿到了1900年,没办法,又得从1900年穿越到"未来"的2000年. 情景1: 假设有一个目录 work ,里面三个文件:file1.file2.file3: git add work/file1 # 添加单个文件到版本库 git add work/file