美文网首页
gitpro之三修改历史

gitpro之三修改历史

作者: ManjackGo | 来源:发表于2018-01-09 15:00 被阅读22次

git commit --amend

amending中文为纠正。该命令的作用是修改上一个提交。把stage区的东西并入到上一个提交之中,从而不必搞一个新的提交。

git commit --amend -m "an updated commit message"更改上一条的log信息。不加-m来改log也可以,只不过要通过vim操作一下。结论是无论stage区有没有东西,你都可以commit一次,有则会把stage的东西提交到head,无则只是更改log。
git commit --amend --no-edit--no-edit这个flag代表着不改变log。所以你可以用这条东西更新stage区的文件到最新的一个commit。

WARNING 最好只更改本地的commit,commit一旦提交到了远端,就别再用这种方式改了,可能会导致冲突(私以为改个log还是没问题的...)

git rebase

# 涉及到branch,暂时先不理

git reflog

等同于git reflog show HEAD
和log有啥不同?这个显示的是操作,不只是commit,比如:

ecac366 HEAD@{1}: reset: moving to HEAD
ecac366 HEAD@{2}: revert: Revert "second add 1"
52ea7db HEAD@{3}: reset: moving to HEAD
52ea7db HEAD@{4}: checkout: moving from 5d3587cea87e9afee747b015c8cc190caae6362f to master
5d3587c HEAD@{5}: checkout: moving from master to 5d3587cea87e9afee747b015c8cc190caae6362f
52ea7db HEAD@{6}: checkout: moving from 3f0b9788c4d959c705fa416f29ff68dfc183cb70 to master

**在此说明: **HEAD代表着当前的分支。
git reflog show --all可以展示所有分支的reflog。

时间标志

  • 1.minute.ago
  • 1.hour.ago
  • 1.day.ago
  • yesterday
  • 1.week.ago
  • 1.month.ago
  • 1.year.ago
  • 2011-05-17.09:00:00

用法比如
git reflog HEAD@{1.hour.ago}百分号和大括号是必须的。
用在diff时可以这么用,以区分两个版本:
git diff master@{0} master@{1.day.ago}

show其实是个隐藏命令git reflog == git reflog show

恢复历史(超越rebase的牛逼操作,永不再丢失代码)

先用git reflog看一下你要去的目标版本,然后用git reset --hard HEAD@{8}之类的代码把版本恢复过去即可~

相关文章

  • gitpro之三修改历史

    git commit --amend amending中文为纠正。该命令的作用是修改上一个提交。把stage区的东...

  • gitpro之一

    从这里开始的git系列均分享自以下网站: https://www.atlassian.com/git/tutori...

  • gitpro之二

    git add 普通用法 git add file git add dir当然你可以用.带代替当前目录 git a...

  • gitpro2学习笔记

    本文用来记录学习gitpro一书中比较常用的炫酷指令,持续更新。 git checkout --track ori...

  • Git资料整理

    1.Git 工作流程 2.gitpro 官方教材 链接: http://pan.baidu.com/s/1eRo8...

  • (历史的镜子散文诗组之三章) ▲记住=刘墉

    (历史的镜子散文诗组之三章)▲记住=刘墉———————————————————————————————— - 不是...

  • gitpro之基础撤回操作

    checkout git checkout branchName 切换分支 git checkout -b new...

  • 看古图学历史之三媚

    看古图学历史之三媚 欢迎关注《看古图学历史》专栏 图片摘自 程氏墨苑P74页

  • 《文学文本解读学》第十三章内容梳理

    第13章 具体分析之三:历史语境还原 历史语境还原不是通常意义上的时代背景。 历史首先不在文本以外,而在文本以内在...

  • git 基本命令

    创建基本仓库 添加文件到仓库 创建仓库分支 提交 状态 修改的历史记录 修改的历史记录单行显示 工作区的修改全部撤...

网友评论

      本文标题:gitpro之三修改历史

      本文链接:https://www.haomeiwen.com/subject/lszwnxtx.html