231得票9回答
如何将Git仓库的前两个提交合并?

假设您有一个包含三个提交 A,B 和 C 的历史记录:A-B-C 我想将两个提交记录 A 和 B 合并成一个提交记录 AB:AB-C 我尝试过git rebase -i A 这将打开我的编辑器,并显示以下内容:pick e97a17b B pick asd314f C 我将这个更改为squas...

227得票7回答
不改变提交时间戳的情况下进行git rebase

在保留提交时间戳的同时执行git rebase是否有意义? 我相信一个后果是,新分支不一定按照提交日期排序。这是否理论上可能?(例如使用管道命令; 我只是好奇) 如果在实践中可以进行,则是否可以使用rebase而不更改时间戳? 例如,假设我有以下树:master <jun 2010...

222得票1回答
git pull --rebase 和 git pull --ff-only 的区别

假设origin/master有提交,而我的local/master有提交。 使用 git pull --rebase 会发生什么? 使用git pull --ff-only会发生什么? 结果提交树上是否有任何差异?

219得票7回答
为什么当我只是压缩提交时,git-rebase会给我产生合并冲突?

我们有一个包含400多个提交的Git仓库,前几十个提交是试错的结果。我们想通过将许多提交压缩成一个提交来清理这些提交。自然地,git-rebase似乎是正确的方法。我的问题是它最终会产生合并冲突,而这些冲突不容易解决。我不明白为什么会有任何冲突,因为我只是压缩提交(不删除或重新排列)。很可能,...

217得票6回答
使用“git rebase”更改旧的提交信息。

我尝试按照这里解释的方法编辑旧的提交消息。 问题是当我运行 rebase -i HEAD~5 时,它会显示 交互式 rebase 已经开始。 然后我尝试运行:git rebase --continue,但出现了以下错误:error: Ref refs/heads/master is at 7c...

202得票4回答
如何将当前分支的修改内容变基到正在被合并的修改之上?

好的。如果我在一个分支(比如说working),并且我想要合并另一个分支(比如说master)的更改,那么我可以在working分支上运行命令git-merge master,这样更改就会被合并而不需要重新设置历史记录。如果我运行git-rebase master,那么master中的更改将被...

192得票4回答
如何在交互式编辑期间从vim中中止git rebase

当我进行交互式变基时,例如:git rebase -i HEAD~3 交互式变基编辑器(在我的情况下是vim)会打开,让我编辑要变基的提交pick c843ea2 Set Vim column limit to 80 (OS X) pick fc32eac Add Bash alias for...

187得票6回答
Git rebase 合并冲突无法继续。

我正在尝试将“dev”分支变基以赶上“master”分支。$ git checkout dev $ git rebase master First, rewinding head to replay your work on top of it... Applying: Corrected...

185得票3回答
如何为Git Rebase选择合并策略?

git-rebase的手册提到可以通过-X<option>选项传递给git-merge。何时/如何使用? 我想通过应用补丁来进行变基,使用递归策略和theirs选项(应用任何符合要求的内容,而不是跳过整个有冲突的提交)。我不想合并,我想让历史线性化。 我尝试过:git reba...

167得票5回答
从历史记录中移除Git合并提交

我的Git历史记录如下: 我想将紫色提交压缩为一个提交。我不想在我的提交日志中再次看到它们。 我尝试过运行git rebase -i 1命令,但是即使1在蓝色分支上(参见图片),我仍然看到紫色分支上的每个提交。 如何完全删除紫色分支(从提交日志中)?