git - 如何使用 TortoiseGit 重新排序提交( rebase )

标签 git version-control git-rebase tortoisegit

我想将几个单一的提交推送到我们的主 git 存储库。在阅读了一些内容之后,虽然听起来我必须重新排序提交才能执行此操作,因为 git 只会将所有提交推送到指定的提交。首先,我真的不明白为什么这不只是内置到 git 中(我是 git 新手)。无论如何,我需要重新排序提交并且我正在使用 TortoiseGit。我找到了如何进入 rebase 菜单,但我不知道该选择哪个选项。要进入 rebase 菜单,我:

  1. 右键单击目录并选择 TortoiseGit/显示日志
  2. 浏览并选择了我想要重新排序的提交。
  3. 选择“将“master” rebase 到这个”。

我看到一个对话框,但我不知道任何字段的含义。

首先是分支字段,我看到了 master 和一些远程选项。我没有任何分支机构。我克隆了一个存储库,到目前为止一直在本地克隆中工作,为什么会有分支选项?

其次,有一个带有左右箭头的小按钮。这个按钮是做什么用的?

第三,有一个上游字段,默认情况下它选择了存储库的 SHA。当我单击该字段时,我看到 FETCH_HEAD、master 和一些远程选项。

我希望看到一个提交列表,我可以上下移动我的提交。我可以通过选中 Force Rebase 选项来查看提交列表。这是我需要做的吗?我在强制什么,我以为我只是想做一个普通的旧 rebase ?

再一次,我是一个 git 新手,感谢任何帮助。

最佳答案

您走在正确的轨道上。 Force Rebase 是您需要使用的选项。在使用 Force Rebase 选项看到提交后,选择一个提交并使用向上/向下按钮重新排序您的提交。根据需要订购它们后,按 Start rebase 按钮​​。

关于为什么要选择Force Rebase;当您希望将当前分支基于较新的提交时,通常会执行 Rebase。由于您当前的分支已经基于您选择的提交,因此无需重新设置基准。在您的情况下,您只是在尝试重新排序您的提交而不是 rebase 。为此使用 rebase 没有错。只需明确选择 Force Rebase。

关于git - 如何使用 TortoiseGit 重新排序提交( rebase ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27610635/

相关文章:

git - 使用 `git show` 创建和应用跨越多个提交的补丁

git - 为更大的基于 Web 的应用程序设置 GIT 和工作流

Git - 将分支存储在单独的本地目录中

git - 当 git rebase 两个具有共享历史的分支时,是否有一种简单的方法可以让共同的历史保持共同?

git - 如何删除新 Bitbucket 中的存储库

git - 还原暂存的更改,保留未暂存的更改

git - 当上游重写历史时,我如何重新设置所有本地 Git 分支(和标签)的基址?

git - 使用 git rebase --edit-todo 修复脚本后要做什么?

git - 阿特 pull 斯彩虹

version-control - 在 Grails 中使用 Hg 的最佳实践?