Git Sourcetree Master 2落后
Git Sourcetree Master 2 behind
我仍在工作 Git 和 Sourcetree,我无法理解我的 Master 分支为什么比我当前的分支落后 2,该分支声称是 master 分支。
当我尝试将 master 合并到我当前的分支时,它说它是最新的。
任何人都可以向我解释我是如何陷入这种情况的,更好的是,我如何让 master 保持最新状态并从中工作?
谢谢
编辑:所以我按照下面的要求做了,检查 master 分支并拉出它,这似乎是最新的,除了最后几次提交似乎已经消失。有谁知道为什么?
这意味着 master
比 origin/master
晚了 2 次提交。您看到 origin/master
在您的 master
提交之后进行合并提交;那是两个之一。另一个在合并的 "other side" 上 ("Set up bundles...")。
你是怎么来到这里的,其他人将更改推送到 master(以在其他分支中合并的形式)。您已从 origin
获取更改 - 此时您的本地分支引用 origin/master
已更新 - 但您尚未将它们合并(或拉入)到 master
.
您可以通过签出 master
并与 origin/master
(不是 master
)合并来更新 master
;或者通过在 master 上执行 pull
(假设以预期的方式设置了跟踪,这可能是因为您收到了预期的“2 behind”消息)。还有其他方法,但这些方法最适合这种情况。
更新
似乎当您这样做时,一些提交似乎从您的显示中消失了。这很可能意味着您的显示已设置为显示当前签出的历史记录。 (这将是 运行 git log
的默认值;我不确定 SourceTree 如何确定要显示的内容,因为我几乎完全使用命令行。从您的屏幕截图中确实可以看出有一个下降 -提交列表上方的向下控件,它可能控制显示的内容。)
现在你要小心一点,因为我看你现在有"uncommitted changes"。与提交(很难 真正 丢失)不同,git 没有做任何事情来保护您免于丢失这些未提交的更改。因此,在进行任何进一步的检查之前,您应该确定您知道这些更改是什么以及是否应该保留它们。如果它们应该是,您应该在进行进一步检查之前提交或隐藏它们。 (在命令行中,git 会拒绝进行会丢失这些更改的检查;但我还是不能代表 SourceTree 会做什么。)
无论如何,像 "Fixing Log Out Bug" 这样的提交似乎是在其他分支上创建的;如果你检查那个分支,你应该看到那些提交。或者,如果您更改显示设置以显示该分支(或 --all
),您应该能够看到它们。
您可以使用刷新日志查看您签出的历史记录。据推测,主 reflog 中的第 3 个条目将是您在创建问题中的第一个屏幕截图时检查过的内容(除非您已经完成了我所知道的以外的其他检查(或类似操作))。
我仍在工作 Git 和 Sourcetree,我无法理解我的 Master 分支为什么比我当前的分支落后 2,该分支声称是 master 分支。
当我尝试将 master 合并到我当前的分支时,它说它是最新的。
任何人都可以向我解释我是如何陷入这种情况的,更好的是,我如何让 master 保持最新状态并从中工作?
谢谢
编辑:所以我按照下面的要求做了,检查 master 分支并拉出它,这似乎是最新的,除了最后几次提交似乎已经消失。有谁知道为什么?
这意味着 master
比 origin/master
晚了 2 次提交。您看到 origin/master
在您的 master
提交之后进行合并提交;那是两个之一。另一个在合并的 "other side" 上 ("Set up bundles...")。
你是怎么来到这里的,其他人将更改推送到 master(以在其他分支中合并的形式)。您已从 origin
获取更改 - 此时您的本地分支引用 origin/master
已更新 - 但您尚未将它们合并(或拉入)到 master
.
您可以通过签出 master
并与 origin/master
(不是 master
)合并来更新 master
;或者通过在 master 上执行 pull
(假设以预期的方式设置了跟踪,这可能是因为您收到了预期的“2 behind”消息)。还有其他方法,但这些方法最适合这种情况。
更新
似乎当您这样做时,一些提交似乎从您的显示中消失了。这很可能意味着您的显示已设置为显示当前签出的历史记录。 (这将是 运行 git log
的默认值;我不确定 SourceTree 如何确定要显示的内容,因为我几乎完全使用命令行。从您的屏幕截图中确实可以看出有一个下降 -提交列表上方的向下控件,它可能控制显示的内容。)
现在你要小心一点,因为我看你现在有"uncommitted changes"。与提交(很难 真正 丢失)不同,git 没有做任何事情来保护您免于丢失这些未提交的更改。因此,在进行任何进一步的检查之前,您应该确定您知道这些更改是什么以及是否应该保留它们。如果它们应该是,您应该在进行进一步检查之前提交或隐藏它们。 (在命令行中,git 会拒绝进行会丢失这些更改的检查;但我还是不能代表 SourceTree 会做什么。)
无论如何,像 "Fixing Log Out Bug" 这样的提交似乎是在其他分支上创建的;如果你检查那个分支,你应该看到那些提交。或者,如果您更改显示设置以显示该分支(或 --all
),您应该能够看到它们。
您可以使用刷新日志查看您签出的历史记录。据推测,主 reflog 中的第 3 个条目将是您在创建问题中的第一个屏幕截图时检查过的内容(除非您已经完成了我所知道的以外的其他检查(或类似操作))。