Git Rebase已合并分支

Git Rebase已合并分支,git,merge,git-merge,rebase,git-rebase,Git,Merge,Git Merge,Rebase,Git Rebase,我从主develope分支myfeature创建了一个功能分支,该分支名为myfeature,还有另一个开发人员创建的另一个功能分支另一个功能 我们都在不同的文件中进行更改 另一个开发人员已创建PR,但尚未合并到开发。但是,我需要他对我的分支所做的更改,因此,我将另一个功能合并到我的我的功能分支并创建拉取请求 但是,现在主要的问题是,我可以看到另一个特性的变化分支到我的我的特性的拉取请求。那么,我怎样才能重新设定基准呢?我不想显示来自其他分支的更改 我查看了另一个帖子,但其中有些帖子我不太理解

我从主
develope
分支
myfeature
创建了一个功能分支,该分支名为
myfeature
,还有另一个开发人员创建的另一个功能分支
另一个功能

我们都在不同的文件中进行更改

另一个开发人员已创建PR,但尚未合并到开发。但是,我需要他对我的分支所做的更改,因此,我将另一个功能合并到我的我的功能分支并创建拉取请求

但是,现在主要的问题是,我可以看到
另一个特性的变化
分支到我的
我的特性的拉取请求。那么,我怎样才能重新设定基准呢?我不想显示来自其他分支的更改

我查看了另一个帖子,但其中有些帖子我不太理解

任何帮助都将不胜感激

编辑:

git日志
显示如下。(目标分支机构为
开发

git log–all–decoration–oneline–graph

f0acaed (HEAD -> feature/my-feature, origin/my-feature) commit message..
a4f4dab (origin/another-feature, feature/another-feature) commit message..
* db30503 (origin/HEAD, origin/develop, develop) merge pull request from another branch

blah blah blah

除非将
另一项功能
合并,否则更改将在您的PR上可见。
如果您只是不想在审阅时看到PR中的这些更改,只需在审阅期间更改基本分支(如果您使用的版本控制系统允许)

另一个解决方案(我更喜欢)是重新设置分支的基础 使用另一个功能,而不是合并它们。
在这种情况下,当合并另一个功能时,您将不会那么头疼,而且在查看时,您将能够只查看您推送的提交(大多数系统允许您在查看时选择提交集)

更新:(对于上述第二种方法)
要跳转到
my feature
的原始状态,您需要使用
reflog

下面是如何做到这一点

  • 通过键入确保没有挂起的更改
    git状态
  • 类型
    git reflog
    您将看到如下内容: 在那里,您可以看到头部参考的历史记录。只需找到合并之前的提交(在图片中,它是一个带有提交哈希值的
    HEAD@{1}
    ,带有提交哈希值
    e919ec6
  • 现在只需使用以下命令签出该提交:
    git checkout HASH_此处
    (例如
    git checkout e919ec6
  • 现在只需从该提交创建一个分支(为方便起见)
    checkout-b我的功能。原创
  • 现在,
    my feature.ORIGINAL
    包含合并前的分支状态,您位于该分支上。
    要执行重基而不是合并,请执行以下步骤:

  • 对分支机构进行备份(同样是为了方便)
    git branch my feature.BKP
  • 使用另一个功能重新设置分支的基础
    git重新设置另一项功能的基础
  • 重命名旧的坏分支(为方便起见)
    git将我的功能重命名为我的功能。错误
  • 将当前分支名称从my-feature.ORIGINAL更改为my-feature(以匹配远程分支名称)
    git重命名my-feature.ORIGINAL my-feature
  • 现在,您可以强制将您的分支推送到远程分支,PR将被更新

  • 您可以共享一个简化的提交树吗?develop分支是您的PR目标分支吗?如果是,似乎没有办法不看到更改,除非
    另一个功能
    合并到
    开发
    @evolutionxbox Editedquestion@ketan干杯您可以改用
    git log–all–decoration–oneline–graph
    ?作为这里的有用背景,值得记住的是,git从未将提交视为“属于”任何特定分支。因此,当您要求比较“我的特性”和“开发”时,它只是查看可以从“我的特性”而不是“开发”的提示中访问的提交。无论您如何合并或重新设置基础,来自“另一个功能”的提交都将显示在该比较中,直到它们合并到develop中。因为,我已经合并并创建了PR。我如何才能做到这一点?另一个解决方案(我更喜欢)是使用另一个功能重新设置分支的基础,而不是合并它们。如果您有
    my feature
    的原始分支的备份,请签出到该分支,并使用此命令
    git rebase other feature
    而不是
    git merge
    。如果你没有备份,请告诉我,我会提供更多关于如何找到备份的详细信息。备份你的意思是我创建了新的PR并删除了旧的PR?同时,我编辑了我的问题以显示
    git日志
    ,我指的是原始分支
    我的功能
    (类似于
    git branch my feature.BKP
    )的副本,然后将其与其他功能合并。但从问题来看,我想你还没有支持:)@ketan,我已经更新了答案,请检查。
    f0acaed (HEAD -> feature/my-feature, origin/my-feature) commit message..
    a4f4dab (origin/another-feature, feature/another-feature) commit message..
    * db30503 (origin/HEAD, origin/develop, develop) merge pull request from another branch
    
    blah blah blah