git pull,合并更改是工作树吗?

时间:2019-02-07 21:26:26

标签: git git-worktree

  • 我从github克隆存储库
  • 我创建了几个工作树宽度:
 git worktree add -path- -branch-

当我从master的存储库中提取更改时,这个工作树也更新了吗?

1 个答案:

答案 0 :(得分:2)

根据您用于“拉动更改”的命令,答案是“否”或“不完全”。

从远程获取更新的最简单方法是git fetch。这将更新数据库(通过从远程对象添加对象(如果它们尚未在本地存储库中)),并可能更新引用。 (通常,它会更新特定于该远程服务器的远程跟踪参考。可以告诉它直接更新本地分支,但这并不是一个好主意。)无论如何,fetch不会执行合并它要么不理会本地分支,要么更新它们以匹配远程服务器,并破坏任何本地更改。 (同样,默认值是不理会它们。)

获取后,您可以cd进入已签出给定本地分支的工作树,merge相应的远程跟踪引用进入该分支(或进行具有类似方法的重新设置)。

git pull是先进行提取然后进行合并的简写。 (同样,这是默认设置。您可以更改配置,使其变为“获取然后重新设置基础”。)因此,如果您在工作树中已签出给定的分支,则可以可以执行git pull,并且可以启动合并到该分支中(使用该工作树及其暂存区)。

但是,如果您正在寻找一个将启动合并到所有工作树中的命令(这听起来像您要的那样),则可能必须编写类似的脚本。 (老实说,我不推荐这样的事情。)