Git 是否暂时签出分支并重新定基/合并以查看影响?

Git 是否暂时签出分支并重新定基/合并以查看影响?,git,github,Git,Github,通常,在我们的工作流程中,我们有一个分支跟踪一个远程挂起的请求,我想先看看PR在合并到master之前会对我的PR做什么。例如,假设有一个PR分支bar尚未合并到master中,但我想看看我的PR分支foo是如何被此更改影响的,该分支正在同时开发中 因此,我想我可以将foo重设为bar(或合并),然后使用reflog将foo重设回其原始位置,从而有效地撤消重设。然而,我认为可能有一种更有效/更优雅的方法来做到这一点。是否有任何类似的功能可以阻止分支指针移动,但允许我们看到(可能在分离的头部状态下

通常,在我们的工作流程中,我们有一个分支跟踪一个远程挂起的请求,我想先看看PR在合并到master之前会对我的PR做什么。例如,假设有一个PR分支
bar
尚未合并到
master
中,但我想看看我的PR分支
foo
是如何被此更改影响的,该分支正在同时开发中

因此,我想我可以将
foo
重设为
bar
(或合并),然后使用
reflog
foo
重设回其原始位置,从而有效地撤消重设。然而,我认为可能有一种更有效/更优雅的方法来做到这一点。是否有任何类似的功能可以阻止分支指针移动,但允许我们看到(可能在分离的头部状态下)一个分支对另一个分支有什么影响?

简单地说

  • 创建并签出一个名为
    foo2
    的一次性分支,该分支指向与
    foo
    相同的提交:

    git checkout -b foo2 foo
    
  • 使用branch
    foo2
    (重设基础等)执行任何您想要的操作

  • 完成后,删除
    foo2

    git branch -d foo2
    

  • 这种方法比直接操作
    foo
    (及其reflog)更简单、更安全。

    只需创建并签出一个一次性分支
    foo2
    ,它指向与
    foo
    相同的提交(
    git checkout-b foo2 foo
    );使用
    foo2
    执行任何操作,然后将其删除。这种方法比直接操作
    foo
    (及其reflog)更简单、更安全。@jubobs哇,这真是太聪明了!谢谢