Git 在单个提交中从主节点获取快照



我在Visual Studio中遇到了问题。我在一个分支中工作,我需要一个新的 master 快照才能合并到我的本地分支(git pull 或 rebase(。但是当我这样做git pull origin master我在传出窗口中有几个提交,等待从我的本地分支推送提交。 我需要干净的推送,只包括我在本地分支中所做的更改,而不是在拉取/变基后从主节点获取的其他提交。 我做错了什么?

假设这是您的提交历史记录:

A - B - C(master, origin/master)
 
D - E - F(xy)

然后,您在master分支上做了一些工作:

A - B - C(origin/master) - G - H(master)
 
D - E - F(xy)

并且您希望将xy分支重定为master分支:

A - B - C(origin/master) - G - H(master)
 
D - E - F(xy)

在此方案中,如果要在推送到分支之前将分支推送xymaster,您将看到将推送G - H - D - E - F提交,因为远程存储库对G - H提交一无所知

如果你不想在提交列表中看到G - H提交,首先你必须推送master,然后将xy分支推送到origin

我有主分支和一个"xy"本地分支。当我在此分支 (XY( 的某个时间工作时,我想在推送我的工作之前将更改从主分支拉到本地 XY 分支。但是当我在 master 之上重新设置我的本地 XY 分支时,我将在 master 中进行的所有提交都放到我的本地分支中,如果我想从 XY 本地分支推送我的工作,我会在 VS 的 otgo 窗口中看到所有提交(从 master 合并((。我不希望所有从师父那里拉出来的承诺都在我的外向中。

最新更新