问题标签 [git-squash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
40 浏览

git - Git 从树以及工作目录中删除过去的提交

目前,我的 git 树看起来像这样

我想要做的是,从 Commit 2 和 3 中删除更改,就像它们从未存在一样,然后推送更改。我隐藏了一些未提交的更改(它们主要是配置文件和 makeFiles,所以我不想将它们放在树中)。另外,我想知道最好的流程是什么,这样我就不会像现在这样弄乱我的工作目录。请帮忙

Git新手,

谢谢。

0 投票
1 回答
1012 浏览

git - Merge + Squash 不会改变 MERGE_HEAD?

我们在一个团队中工作,我们有本地分支机构,每个人都在自己的分支机构工作,我们提交了很少的分支机构并与--squash 合并。

现在我们必须删除那些合并到'staging'分支中的分支。

问题是当我们命令 'git diff' 查看我们的分支时,它显示所有被压缩的提交都未合并。

我们正在使用以下方法获得未合并的分支:

谢谢!

0 投票
1 回答
1339 浏览

git - git合并后的分支与--squash比较

我有一个父分支 A 和一个子分支 B。在分支 B 中,我有两个单独的提交。我像这样将A中的分支B与壁球合并

当我将分支 A 与分支 B 进行比较时:

它将来自分支 B 的两个提交显示为未合并。我如何将它与父分支 A 的压缩提交进行比较?这样它就可以在两个分支之间的响应没有差异

谢谢

0 投票
7 回答
11141 浏览

git - Git - 挤压整个分支 - 一行挤压命令

在编写新代码时,我会进行许多小的提交来跟踪我的更改。但是,我的公司更喜欢将每个功能作为单个提交提交。所以解决方案是将我的整个(本地)分支压缩为一个提交。

如何在不使用git rebase --interactive然后更改picksquash所有提交的情况下压缩整个分支?

0 投票
1 回答
2400 浏览

git - Git squash 重命名文件的提交(保留历史记录)

背景

嗨,我正在开发本地功能分支。这个本地分支被很多小提交搞砸了。在将分支推送到远程之前,我想整理一下。

为此,我将进行交互式变基:

到目前为止没有问题。

问题

现在是困难的部分:在功能开发过程中,我进行了几次重构,包括重命名移动文件。由于重命名文件,重命名文件的历史可用:

但是当我在重命名提交之前和之后压缩提交时,历史记录就消失了,git 将更改通知为删除和添加文件。

问题是什么?

如何在不丢失文件历史记录的情况下压缩提交,包括重命名?

0 投票
2 回答
2612 浏览

git - Intellij“提交前”选项含义

我找不到有关提交时可见的几个选项(复选框)的文档。

提交选项

我正在寻找squash来自 IDE 的所有提交的选项,我想知道这些选项中的一个是否无法帮助我做到这一点。有没有关于不同选项的官方文档?

0 投票
6 回答
69933 浏览

git - 如何压缩中间有合并提交的提交?

我正在开发一个功能分支。

  1. 做了几次提交。压扁的提交。
  2. 将更改推送到远程分支。有冲突。
  3. 合并来自 master 的更改,解决了功能分支上的冲突。
    • git fetch origin master
    • git merge FETCH_HEAD
    • 手动解决冲突。
    • git commit
    • git push
  4. 我又做了一个承诺。

所以,当前的提交历史看起来像这样。从现在到旧:

  1. 提交 3
  2. 提交 M yyy(合并)
  3. 提交 2

在将功能分支合并到 master 之前,如何将 3 个以上的提交压缩为 1 个?

0 投票
1 回答
174 浏览

git - 在主分支中压缩提交消息

在最后一次推送到远程仓库后在 Git 中,我在 master 分支上工作。我现在有 6 个提交要推送。我想将这 6 个压缩成 1 个提交消息,然后推送。

有什么建议吗?

0 投票
2 回答
3082 浏览

linux - xargs (或其他)参数前没有空格

我想执行这样的事情(git squash):

从 中提取 3 git log

这不起作用,因为 xargs 在HEAD~.

问题是我想给这个命令起别名,所以我不能只使用

因为仅在我定义别名时才会评估该数字。

我不必使用xargs,我只需要一个别名(最好不是函数)。

0 投票
0 回答
133 浏览

git - 压缩 Git 合并但保留作者身份?

是否可以压缩合并但保留作者身份以与 git-blame 一起使用?