git merge 在这张图中适合的位置

pic*_*olo 5 git version-control

我正在学习 git/github/version control,我发现下面的图表非常有用(来源)。我的问题是哪里git merge适合这个图表?箭头会从哪里开始并指向哪里?

在此处输入图片说明

Von*_*onC 5

正如我所评论的,“ rebase”这里是在以下上下文中git pull --rebase

\n\n
    \n
  • 从远程存储库获取
  • \n
  • 在刚刚通过获取更新的远程跟踪分支之上重新建立基础。
  • \n
\n\n

Agit merge位于本地存储库和工作区之间

\n\n
    \n
  • 本地存储库具有合并的来源:您要从合并的内容,
  • \n
  • 工作区是您的工作树,您已在其中签出当前的工作分支:它是您要合并到的内容
  • \n
\n\n

您需要一个工作区来解决可能的合并冲突。

\n\n

虽然施韦恩答案在技术上是正确的,但令人困惑。

\n\n
    \n
  • 是的,有一些边缘情况(如此此处所示),您可以在不涉及工作树的情况下进行合并。
  • \n
  • 但是合并时(几乎总是)涉及工作树
  • \n
\n\n

该图的目的是向您展示命令执行后在哪里查看git

\n\n

出自《真正的合并

\n\n
\n

提交一个协调所有要合并分支的更改的合并版本,并且您的 HEAD、索引和工作树都会更新到它
\n 只要工作树不重叠,就可以对其进行修改;更新将保留它们。

\n
\n\n

如果您要git merge在裸存储库(无工作树)中执行 a,您将得到:

\n\n
fatal: this operation must be run in a work tree\n
Run Code Online (Sandbox Code Playgroud)\n\n

(从setup.c#setup_work_tree()

\n\n

也可以看看:

\n\n\n\n

https://appendtonew.wpengine.com/wp-content/uploads/2015/06/Screen-Shot-2015-06-24-at-8.37.13-PM-1024x663.png

\n\n

(来源:www.patrickzahnd.ch

\n\n

如需更具交互性的可视化 Git 备忘单:来自 NDP Software 的交互,来自 Andrew Peterson

\n\n

备忘单

\n\n
\n\n

不要忘记,在 Git 2.23(昨天发布)中,您有两个新的(实验性)命令:git switchgit restore
\n他们可以澄清git checkout之前做了什么。

\n