标签: git-squash

Intellij - 如何仅限本地分支

在Intellij中使用Git时,如何压缩本地分支的所有提交?我在rebase分支窗口中使用了哪些设置?

我已经尝试将Onto设置为本地/主设备和从设置到我的分支,但随后它会尝试将主设备更改合并到我的分支中,因为我每天早上都会将我的分支转换为主设备...所以不应该有冲突.然而,它几乎总是发现冲突并导致合并问题.我只想要压缩分支提交和消息,所以当我推送到Github时它只能看到一个.

在此输入图像描述

git intellij-idea git-squash intellij-14

15
推荐指数
1
解决办法
9785
查看次数

如何最好地压制旧的提交

最近离开的一位开发人员在几个月前的回购中留下了大量的提交,就像"更新"一样.理想情况下,我想将它们压缩成一个提交,但我只是为最近的提交做了这个.

我将如何做以下提交(假设从2个月前意味着有数百个)?

....从2个月前

aabbcc updated
aabbdd updated
aabbee updated
aabbff updated
Run Code Online (Sandbox Code Playgroud)

不想/需要任何花哨的东西,只是一个简单的解决方案.这些提交尚未公开分享(除了我今天以外),因此不会扰乱其他人的提交历史.

git git-squash

14
推荐指数
2
解决办法
8082
查看次数

压缩提交的标签会发生什么?

如果我提交A了标记为 eg 的提交tag-A,然后下一个提交B标记为tag-B; 如果我压缩这 2 个提交,标签会发生什么?两者都会被分配到被压扁的提交吗?

git git-commit git-tag git-squash

11
推荐指数
2
解决办法
2422
查看次数

Git - 修正和压缩命令之间的区别

修改和壁球命令有什么区别?我试过这两个,发现两者都在做同样的管理.

git git-amend squash git-squash

9
推荐指数
2
解决办法
2536
查看次数

如何通过GitHub删除所有已经"Squash and Merge"的git分支?

自从GitHub引入Squash和Merge之后,我工作场所的所有酷孩子都在合并拉取请求时使用它.有没有办法清理"壁球和合并"分支?

以下命令如何删除已合并的所有git分支?不适用于"壁球和合并":

git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d
Run Code Online (Sandbox Code Playgroud)

git merge github git-branch git-squash

9
推荐指数
3
解决办法
1261
查看次数

如何压缩我的git分支提交到相同的分支没有变基?

我有一个本地分支,我们正在使用带有Pull请求的git-flow,我希望在收到PR反馈后压缩一些提交.

如何将我的所有提交(例如PR)压缩到同一个分支中?

我想它会是这样的:

git checkout master                    # For master
git pull                               # Get all branches up-to-date
git checkout feature1                  # Checkout the branch
git checkout -b feature1_squash        # Make a copy of the branch
git branch -D feature1                 # Delete original branch
git checkout master                    # (?) Branch off latest master for safety
git checkout -b feature1               # Make new (empty) original branch
git merge --squash feature1_squash     # Merge with squash into it
git push -f feature1                   # Push, force …
Run Code Online (Sandbox Code Playgroud)

git git-merge git-checkout git-branch git-squash

8
推荐指数
2
解决办法
1956
查看次数

如何将3个提交压缩为1个?

我对git很新,所以我一直在试图弄清楚如何将3次提交压缩为1,这样我的PR就可以合并了.我已经阅读了很多文档和指南,并且发现了如何压缩提交,但我的一个提交没有显示出来.当我输入时,我尝试附上我的提交照片和我终端的照片:"git rebase -i HEAD~5",但不幸的是我是新用户,所以我不能?但无论如何,我会非常感谢一些帮助.

git github git-commit git-squash

8
推荐指数
2
解决办法
1万
查看次数

压缩(已推送)GitLab 上的提交

我有一个包含 5 次提交的合并请求,全部推送到 GitLab 上的分支。我想将这 5 次提交压缩为 1 次——但是其他人对存储库进行了中间提交。例如,在 git log 中,您可能会看到

my5thcommitsha
my4thcommitsha
someoneelse'scommitsha
someoneelse'scommitsha
my3rdcommitsha
my2ndcommitsha
my1stcommitsha
Run Code Online (Sandbox Code Playgroud)

我已经将我的分支重新设置为我尝试合并到的存储库主分支上的最新提交。

现在,我只想压缩我的 5 次提交,这样 GitLab 上的内容就更干净了——我该怎么做呢?

合并按钮旁边的“squash commits”复选框是否会创建单个提交,还是会创建两个提交(1 个提交包含我的 5 个提交,+ 一个合并提交)?

git github squash gitlab git-squash

8
推荐指数
1
解决办法
2万
查看次数

压扁后如何修复我的 git 分支是 master Behind dev

我已经创建了 2 个对远程dev分支的提交。我将其压缩并合并到远程master分支中。

现在,当我想继续在dev分支上工作时 - 我不知道如何正确“修复”我的分支 - 因为在从 到 创建新的拉取请求之后,devmaster得到了在先前拉取请求中被压缩的所有提交的列表。

我有这样的事情:

O ---- A ---- B ---- XY <--(master)
 \
  X ---- Y ---- Z <--(development)
Run Code Online (Sandbox Code Playgroud)

如何使用 commit Z from devto创建正确的拉取请求master

git git-squash

7
推荐指数
1
解决办法
939
查看次数

如何判断 git 分支在压缩后是否已完全合并

当使用 合并分支时--squash,git 似乎不再能够确定分支是否已完全合并。如何使用现有的 git 命令快速检查这一点?

要重现,请创建一个新的 git 存储库:

$ mkdir tmp
$ cd tmp
$ git init
$ echo "bla" > ans
$ git add .
$ git commit -m "First commit"
Run Code Online (Sandbox Code Playgroud)

创建new-branch带有提交的分支:

$ git checkout -b new-branch
$ echo "blabla" >> ans
$ echo "blupp" > zwa
$ git add .
$ git commit -m "Commit on new-branch"
Run Code Online (Sandbox Code Playgroud)

创建another-branch带有提交的分支:

$ git checkout master
$ git checkout -b another-branch
$ echo "test" >> ans …
Run Code Online (Sandbox Code Playgroud)

git merge git-squash

7
推荐指数
2
解决办法
1981
查看次数