壁球在Git Desktop中提交

时间:2015-12-28 19:03:10

标签: git github github-desktop

我试图使用我已经推送到GitHub的分支将6个提交压缩到一个提交中。

我尝试通过命令行执行此操作,但我继续接收no-op而不是该分支的提交。

有没有办法通过可能更有意义的GitHub桌面来做到这一点?

如果可能,请逐步提供;

我很擅长将GitHub用于协作目的,而且我的知识并没有超过git add,commit和push。

3 个答案:

答案 0 :(得分:2)

<块引用>

有没有一种方法可以通过 GitHub 桌面执行此操作,这可能更有意义?

从 2.9 版开始,现在有一种方法可以在 GitHub Desktop 中压缩提交。

这里有两种方便的方法可以做到这一点。

  1. 在“历史”选项卡中选择多个提交(使用 CtrlShift 键),右键单击所选提交之一并选择“Squash 2 commits... ".

enter image description here

  1. 将一个分支合并到另一个分支时,单击右侧的箭头提交按钮并选择“压缩并合并”。

enter image description here

答案 1 :(得分:1)

为了做一个git squash,请按照以下步骤操作:

// X is the number of commits you wish to squash, in your case 6
git rebase -i HEAD~X

一旦你压缩你的提交 - 选择s进行squash =它会将所有提交合并为一个提交。

enter image description here

如果需要,还有--root标志

尝试:git rebase -i --root

- root

Rebase all commits reachable from <branch>, instead of limiting them with
an <upstream>.

This allows you to rebase the root commit(s) on a branch.  
When used with --onto, it will skip changes already contained in `<newbase>`   
(instead of `<upstream>`) whereas without --onto it will operate on every 
change. When used together with both --onto and --preserve-merges, all root 
commits will be rewritten to have `<newbase>` as parent instead.`

答案 2 :(得分:1)

Thoughtbot上的这篇文章可能会帮助您通过命令行完成它。知道你正在做什么比依赖Git的GUI工具更好。从长远来看,这对你有利。

this Q&A