`

Git合并两个commit

    博客分类:
  • Git
阅读更多

一个同事让我把他的repository若干个commit变成一个,我用git rebase -i合并到最后发现剩下只有两个commit的时候,git rebase -i不再起作用,于是我求助了git maillist,果然很快有人给出了答案:

$ git reset --soft HEAD^1   只回退commit,保留change和index

$ git commit -a --amend

$ git push origin --force

 

    git reset --mixed:此为默认方式,不带任何参数的git reset,即这种方式,它回退到某个版本,只保留源码,回退commit和index信息, 即保留的文件为Untracked状态。
    git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级, 即保留文件为Tracked状态。如果还要提交,直接commit即可

    git reset  --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,此命令 慎用!

    HEAD^ 上一次提交 HEAD^^ 上两次提交

     HEAD~1 上一次提交 HEAD~2 上两次提交

 

git rebase 命令的功能很强大,之前一直用它解决patch冲突。

交互式rebase(git rebase -i)提供了一个简单易用的途径让你在和别人分享提交之前对你的提交进行分割、合并或者重排序。

有时间再研究下。

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    git extensions中文版gitextensionsv2.51.05_downcc.com.zip

    后者KDiff3是一款用来对文件或目录进行比较/合并的工具,在比较时它可以同时针对两个或者三个文件/目录而进行。通过比较,它将文件/目录的差异按行加以显示。同时,KDiff3 提供有自动化的合并工具,方便使用者进行...

    Git-Mrt-Map:用于地铁地图的 Git

    为中转站创建两个节点: 通过“commit”移动先去中转点 然后,结帐到以将其合并如下: (Tamsui) touch Zhongshan git add Zhongshan git commit -am " Zhongshan " git checkout master # master branch ...

    计算机专业面试可能会遇到的问题

    技术问题准备 git: git init 初始化当前目录作为本地仓库 git add . 将工作目录下文件传到暂存区(刚创建的文件git status 会显示未...解决冲突:两或多个分支编写同一个文件(会报错自行到报错文件选择一个版本留下)

    RoyalPlate:皇家名牌

    // 当您需要合并两个副本并将您的代码推送到 git git pull git add 时。 git commit -m git rebase —继续 git push // 如果你是最后一个在 github 上推送的人 git status git add . git commit -m git push // ...

    git-trim-自动修剪上游分支已合并或偏离的跟踪分支-Rust开发

    git-trim git-trim自动修剪您的跟踪分支,其上游分支已合并或偏离。 git-trim是git f缺少的伴侣git-trim git-trim自动修剪您的跟踪分支,其上游分支已合并或偏离。 git-trim是git fetch --prune所缺少的伴侣,它是...

    Git-2.23.0/win64/32/mac 多文件

    *引入了两个新命令“git switch”和“git restore” 分裂“检查分支机构以推进其历史”和 “检查索引和/或树的路径 推进当前历史“脱离单一”git checkout“ 命令。 *“git branch --list”学会了总是将分离...

    Git-In-Project:总结一下我们项目中使用git的一些经验

    name这是两个命令:git branch 和 git checkout分支中开发review代码第一轮测试添加代码到分支的暂存区git add somefile提交代码到分支git commit -m "本次提交注释"切换到主分支mastergit checkout master获取远程...

    research-methods

    AdNU DCS高级项目文档模板该LaTeX文档由弗吉尼亚理工学院采用,被Ateneo de Naga大学计算机科学系(DCS)用作高级论文/顶点项目文档的模板。一名教授对玛塔玛(Mma Tamad)的说明... 注意:如果两个或两个以上的人在一

    Git 提交消息和变更日志生成框架 :book:

    理论基础由两个 RFC 组成:RFC0001 用于提交消息语法扩展RFC0002 用于输出模板引擎安装要将git-journal用作 git 扩展,需要安装 Rust ,包括包管理器cargo 。不同的包管理器也会提供这些,例如通过 Arch Linux 上的...

    使用BeyondCompare来merge你的代码

    通过上面的命令可以查看当前系统可以使用的和支持的gitdiff或gitmerge插件,运行结果如图...如果合并两个分支产生冲突无法自动完成merge时(如图)即可使用gitmergetool(前面设置了bc为默认mergetool)调起BeyondComp

    TortoiseGit日常使用指南

    《Pro Git》和 TortoiseGit 的帮助文档是两篇很不错的参考文档. 如果时间比 较紧, 可以看看TortoiseGit的帮助文档, 对Git的用法, 文件存储等都会有比较好 的了解. 对比常用的 CVS, Git 至少有以下几个优点: 不需要...

    servicenow-datasilos-vam:用于疫苗管理管理的DataSilos扩展

    如果由于存在在ServiceNow实例外部编辑的文件而无法导入存储库,合并了来自不同修订版本的文件的合并提交或与校验和不匹配的其他数据,则可以使用以下两种方法之一进行恢复: : 删除问题提交: 使用安装的git...

    sn-kuna-notifications

    如果由于存在在ServiceNow实例外部编辑的文件而无法导入存储库,合并了来自不同修订版本的文件的合并提交或与校验和不匹配的其他数据,则可以使用以下两种方法之一进行恢复: : 删除问题提交: 使用安装的git...

    leetcode怎么提交c语言-LeetCode:Java、C++和Python中的LeetCode解决方案

    首先创建一个以问题命名的文件夹,然后在该文件夹中创建两个文件(注意:在这两个文件中,一个是描述问题内容和要求的.md文件,另一个是.py(或.cpp,. java 等)文件,写下您关于问题的解决方案(源代码)); 使用...

    Dev:安全系统监控项目

    在分支上执行的编辑完成后,必须在GitHub上发出推送请求,并且两个开发人员必须检查更改以查看是否存在冲突并检查代码,以便将其与主数据库合并(合并)。分支。 与分支相关的命令: git branch =显示所有现有分支...

    java数组传递笔试题-learn-pre-commit:预提交钩子让你在允许提交之前运行检查(例如JSLint或检查测试覆盖率)

    java数组传递笔试题想要在您的团队中保持一致的代码......? 立即了解如何使用Pre-Commit 预提交挂钩让您在允许提交之前运行检查(例如 ...中,我们可以使用两个流行的模块来运行预提交检查: 预提交挂钩:

    开源ERP项目Gooderp_Addons.zip

    开阖软件发起的开源ERP项目如果你有一个苹果,我也有一个苹果,彼此交换后,你我还是一人一个苹果,但是如果你有一个想法,我有一个想法,彼此交换后,你我就都有两个想法,三个人呢?一百个人呢?使用openobject...

    repo-template:用于创建新存储库的模板

    这说明了如何使用此模板,有两个选项。 在GitHub上创建一个新的存储库,然后选择vidavidorra/repo-template作为存储库模板。 在上创建一个新的空存储库并合并此模板。 $ git commit --allow-empty -m ' chore: ...

    GitHub Desktop离线包 v2017.3.20.zip

    由于新版的 GitHub Desktop 在 Mac 和 Windows 上的界面统一起来了,经常要在两个不同平台切换使用的朋友应该会更加顺手了。当然,GitHub 可以允许你在 GitHub.com 网页版上实现所有的功能,你也可以使用一些第三方...

    user_documentation:Figshare API文档的所在地

    figshare API用户文档 figshare API用户文档的所在地。 在API文档的发展过程中... 代码将被送到其合并之前进行审查master其他同事,并通过至少两个批准。 git commit的描述应如下所示: FIG-12345(feature): Commit

Global site tag (gtag.js) - Google Analytics