相关疑难解决方法(0)

撤消尚未推送的Git合并

在我的主分支中,我做了一个git merge some-other-branch本地,但从未将更改推送到原始主.我不是故意合并,所以我想撤消它.在git status合并后执行操作时,我收到此消息:

# On branch master
# Your branch is ahead of 'origin/master' by 4 commits.
Run Code Online (Sandbox Code Playgroud)

根据我发现的一些说明,我试着跑步

git revert HEAD -m 1
Run Code Online (Sandbox Code Playgroud)

但现在我收到这条消息git status:

# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.
Run Code Online (Sandbox Code Playgroud)

我不希望我的分支通过任何数量的提交领先.我该如何回到那一点?

git undo git-merge

3695
推荐指数
27
解决办法
200万
查看次数

如何撤消git flow功能完成?

我正在学习git-flow,我刚刚做了git flow feature finish <feature-name>,它合并了我的功能分支来开发和删除它.

而不是这个,我想将功能分支推送到github,所以我可以在同行评审后合并它.

所以问题是,如何"撤消"这个命令.或者换句话说,如何将我的最后两次提交从开发移动到我的功能分支?

git branching-and-merging git-flow git-branch

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

GitFlow 如何处理合并开发中取消的功能

这里摘取的以下片段

\n\n
\n

当完成的功能和修复已准备好发布时,它们会合并回开发分支

\n
\n\n

据我了解,这意味着当开发人员对自己的工作充满信心时,功能就会被合并以进行开发。

\n\n
\n

当需要发布版本时,会从开发中创建发布分支

\n
\n\n

在这条线上,开发分支中的功能预计将被发布。

\n\n
\n\n

以上一切都很好,直到某个功能被 QA 测试确定尚未“准备好”发布,或者可能快到了该功能可以移至下一个版本的发布日期。

\n\n

我知道做一个git revert可以对此有所帮助。我碰巧很久以前就经历过这种情况(不过我已经忘记了那段时间我做了什么),但我一直在使用实验性的自定义工作流程来防止类似的情况发生。

\n\n
\n\n

实验性自定义工作流程Worlflow 1

\n\n

我正在试验的流程几乎与 gitflow 相同,除了“功能合并以开发”部分之外。在此实验工作流程中,它被替换为“合并待开发的已验证功能”

\n\n

流程变成这样:

\n\n
    \n
  1. 所有要发布或由 QA 测试的功能都放在(不合并)\n功能测试分支中(开发分支 + 所有要发布的功能)
  2. \n
  3. 合并已验证的功能进行开发
  4. \n
  5. 新的功能分支是从开发中创建的
  6. \n
\n\n
\n\n

它对我来说工作正常,但有一个小问题。它会在每次变基时创建重复的提交。我已经尝试过cherry-pickmerge(与 ff),但pull --rebase结果都是相同的。

\n\n
\n\n

我计划测试另一种方法,以避免每次变基时重复提交,但我认为它还会存在另一组问题。

\n\n

和上面的工作流程几乎一样

\n\n

工作流程2

\n\n
    \n
  1. 所有要发布或由 QA 测试的功能都合并 …

git workflow git-flow

5
推荐指数
1
解决办法
1083
查看次数