git rebase -i 合并commit

每次可能修改一个小的bug就会有一个提交,或者写了一小段代码就提交了一次。

这样经常会有多个commit,对此我们用git rebase -i HEAD~n来合并多个commit为一个commit。

如下图所示:

先用git status 查看下有多少个commit,下图中提示 Your branch is ahead of ‘origin/master‘ by 2 commits. 很明显是2个commits待push。

git log 里的内容请忽略掉。

现在用git rebase -i HEAD~2来合并两个commit为一个commit。执行情况如下图所示:

运行gitk命令后验证了合并两个commit成功。下图中显示只有一个commit了:

时间: 2024-08-06 11:22:49

git rebase -i 合并commit的相关文章

使用git rebase合并多次commit

使用git rebase合并多次commit 1. 背景 一个repo通常是由一个team中的多个人共同维护,如果需要增加新feature,那么就是一个feature分支了.由于开发中各种修改,本feature分支多次commit.最后提交master后,会看到乱七八糟的所有增量修改历史.其实对别人来说,我们的改动应该就是增加或者删除,给别人看开发过程的增量反而太乱.于是我们可以将feature分支的提交合并后然后再merge到主干这样看起来就清爽多了. 记得知乎上有个帖子提问为啥vue的作者尤

分布式版本控制系统Git-----7.Git 使用git rebase合并多次commit

将多次commit合并,只保留一次提交历史. PS:在我练习的时候,将一个文件的代码做了多次修改,而且每次修改都给提交了,这几次改动的目的都一样,比如说修改RADEME.md,但是每次改动的只是一个小小的代码,但是提交历史上的显示看着会很乱,所以需要合并之前的多次提交历史. 1.首先使用git log查看一下提交历史[--oneline作用是将每个提交放在一行显示] 这样在git中看到的是4次提交(更改txt),有点冗余,需要做的是将4次commit合并为一次 2. git 压缩  git re

git rebase简介(基本篇)

一.基本 git rebase用于把一个分支的修改合并到当前分支. 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支. $ git checkout -b mywork origin 假设远程分支"origin"已经有了2个提交,如图 现在我们在这个分支做一些修改,然后生成两个提交(commit). $ vi file.txt $ git commit $ vi otherfile.txt $ git commit ...

团队开发里频繁使用 git rebase 来保持树的整洁好吗?

用了以后, 树可以非常清晰, 某种程度上便于追踪, 但是 push --force 就多多了,不用呢, 合并没有远程仓库被修改的麻烦, 可是追踪又不清晰... git rebase是对commit history的改写.当你要改写的commit history还没有被提交到远程repo的时候,也就是说,还没有与他人共享之前,commit history是你私人所有的,那么想怎么改写都可以. 而一旦被提交到远程后,这时如果再改写history,那么势必和他人的history长的就不一样了.git

[git]rebase和merge

转自:http://blog.csdn.net/wh_19910525/article/details/7554489 Git merge是用来合并两个分支的. git merge b # 将b分支合并到当前分支 git rebase b # 把 b分支合并到当前分支 这个和svn有点类似,svn将branch合并到trunk上,也是在trunk的workcopy上,选择要合并过来的branch进行合并 ----------------------------------- 他们的 原理 如下:

Git git rebase 使用

原文:http://gitbook.liuhui998.com/4_2.html 一.基本 git rebase用于把一个分支的修改合并到当前分支. 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支. $ git checkout -b mywork origin 假设远程分支"origin"已经有了2个提交,如图 现在我们在这个分支做一些修改,然后生成两个提交(commit). $ vi file.txt $ git c

git rebase简介

原文: http://gitbook.liuhui998.com/4_2.html 一.基本 git rebase用于把一个分支的修改合并到当前分支. 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支. $ git checkout -b mywork origin 假设远程分支"origin"已经有了2个提交,如图 现在我们在这个分支做一些修改,然后生成两个提交(commit). $ vi file.txt $ git

git rebase原理(转)

git rebase 不会取回代码 要用git fetch先取回, git rebase 是合并代码. (1)首先用git fetch返回服务器上的代码 (2)首先用git rebase origin/master 合并 (3)如果发生冲突了会提示, 然后可以使用git diff查看冲突, 在手工改掉冲突, 在用git add ‘文件名’ 添加修改后文件,最后用git rebase --continue继续没完成的合并 (4)最后就可以用git push 更新到服务器上去. 转自: http:/

git分支切换与git rebase , git stash

今天在dev分支开发直播的其他功能,老大突然发消息说在master分支修改一下网站文章的样式,因此发生了对git的一些了解. 正在dev分支开发,那么dev分支开发的东西怎么办呢,这就要用的git的存储功能的,git stash向堆栈推送一个新的储藏,只要运行git stash这就要用的git的存储功能的 1 $ git stash 2 Saved working directory and index state WIP on dev: 3b1687c 房间加载更多 3 HEAD is now