Git 如何在不签出的情况下将另一个分支重置为原点?
我的典型工作流程是签出Git 如何在不签出的情况下将另一个分支重置为原点?,git,Git,我的典型工作流程是签出master并键入git reset--hard@{u}。 从那里,我将签出要合并master的分支,并合并master 我是否可以在不更改的情况下执行更新master的步骤?(这将有助于我在更换时不隐藏) 例如,我在分支A上,它是从master分支而来的主控已经完成,我有很多更改,不想执行隐藏,所以我不想执行 git隐藏 git签出主机 git重置--hard@{u} git签出A git合并主机 git pop隐藏(伪) 我希望能够在当前处于分支a时,对master执行
master
并键入git reset--hard@{u}
。
从那里,我将签出要合并master的分支,并合并master
我是否可以在不更改的情况下执行更新master
的步骤?(这将有助于我在更换时不隐藏)
例如,我在分支A
上,它是从master
分支而来的<代码>主控已经完成,我有很多更改,不想执行隐藏,所以我不想执行
git隐藏
git签出主机
git重置--hard@{u}
git签出A
git合并主机
git pop隐藏(伪)
a
时,对master
执行git重置--hard@{u}
我可以在不更改主控形状的情况下执行更新主控形状的步骤吗
是的,看
我不认为这些答案涉及对其进行硬重置 当您不签出其他分支时,硬重置没有意义 如果不进行合并,也可以使用软重置而不是混合重置来避免
隐藏
因此(几乎)您的所有步骤都浓缩为一个分支
或软重置
命令,如该答案中所述
一般来说,您的工作流程似乎很奇怪。要更新master
以与上游同步,通常需要快进merge
更改。但是没有必要这样做,您可以在获取后将您的工作分支建立在远程分支之上
此外,您通常会将master
合并到您的本地分支以保持同步,或者rebase
您的分支位于master
之上;取决于您的工作流样式(无论您是否希望历史更加线性)
一般来说,使用隐藏
,应该是很少见的事情
我可以在不更改主控形状的情况下执行更新主控形状的步骤吗
是的,看
我不认为这些答案涉及对其进行硬重置
当您不签出其他分支时,硬重置没有意义
如果不进行合并,也可以使用软重置而不是混合重置来避免隐藏
因此(几乎)您的所有步骤都浓缩为一个分支
或软重置
命令,如该答案中所述
一般来说,您的工作流程似乎很奇怪。要更新master
以与上游同步,通常需要快进merge
更改。但是没有必要这样做,您可以在获取后将您的工作分支建立在远程分支之上
此外,您通常会将master
合并到您的本地分支以保持同步,或者rebase
您的分支位于master
之上;取决于您的工作流样式(无论您是否希望历史更加线性)
通常,使用stash
应该是一件罕见的事情。试试git-worktree
git worktree add /path/to/foo master
cd /path/to/foo
git reset --hard @{u}
# remove the working tree when it's not needed any more
git worktree remove /path/to/foo
它在另一个工作树中签出master
,并且不影响已签出A
的当前工作树
但是,为什么要坚持使用git reset--hard
git update ref
确实是一个更好的解决方案。试试git worktree
git worktree add /path/to/foo master
cd /path/to/foo
git reset --hard @{u}
# remove the working tree when it's not needed any more
git worktree remove /path/to/foo
它在另一个工作树中签出master
,并且不影响已签出A
的当前工作树
但是,为什么要坚持使用git reset--hard
git update ref
确实是一个更好的解决方案。这里回答了这个问题:这是否回答了您的问题?我不认为这些答案涉及对其执行硬重置。只需使用git merge origin/master
?无需在本地master
分支上结帐或碰头,只需将origin/master
上的内容合并到分支中即可。您可以直接合并origin/master
,这与第1/3步相同。这里回答:这是否回答了您的问题?我不认为这些答案涉及对其执行硬重置。只需使用git merge origin/master
?无需在本地master
分支上结帐或碰头,只需将origin/master
上的内容合并到分支中即可。您可以直接合并origin/master
,这与第1/3步相同。该问题的答案似乎是更新master
以匹配A
,而不是,重置要更新到上游状态的master
,然后使用master
更新A
。无论您试图将另一个分支更新到什么位置,都可以根据需要将其指向任意提交。当然,合并它是它自己的步骤(编辑答案以澄清)。再次编辑以添加更多提示,因为您使用的工作流听起来可能会有很大改进。该问题的答案似乎是更新master
以匹配A
,而不是,重置要更新到上游状态的master
,然后使用master
更新A
。无论您试图将另一个分支更新到什么位置,都可以根据需要将其指向任意提交。当然,合并它是它自己的步骤(编辑答案以澄清)。再次编辑以添加更多提示,因为您使用的工作流听起来可能会有很大改进。在我发现git-update-ref
之前,我没有使用git-fetch
到git-reset-hard{u}
这是一种可靠的说法