【问题标题】:How To Pull Latest Files from Dev Branch and NOT master?如何从开发分支中提取最新文件而不是掌握?
【发布时间】:2018-06-09 04:02:59
【问题描述】:

我是 Git 新手,在这里我真的很困惑。我有一个来自我的 github 的 HTTPS,我正在使用虚拟盒子中的终端来尝试从我的一个分支中提取最新文件。

每次我使用以下命令时:

git pull http-linkgit clone http-link 它只从主分支中提取文件,而不是所有分支。我知道这一点,因为当我运行 git branch 时,我只看到 master 分支,而不是我在 github 中的 develop 分支。我想要来自这个开发分支(不是主分支)的文件,所以我可以在合并到主分支之前将更改推送到该分支。请指教。

【问题讨论】:

标签: linux git github terminal virtualbox


【解决方案1】:

它只从主分支中提取文件,而不是所有分支

pull 的规则有点依赖于配置,但我可以告诉你,当你 clone 时,它会获取整个历史记录(所有分支),除非你给它特定的选项告诉它不要(例如 @ 987654323@)。

我知道这一点,因为当我运行 git branch 时,我只看到 master 分支

这是因为默认情况下git branch 会列出本地 分支,而不是来自远程的每个已知分支。你可以说

git branch -a

看看剩下的。他们会以类似的名字出现

remotes/origin/branch-name

因为你所拥有的不是正确的分支;相反,这些是一种“书签”,可以告诉您远程分支在哪里,您最后一次从远程获取的时间。

默认情况下,克隆不会自动为远程上的每个分支创建本地分支(但它确实获取分支)。默认情况下,克隆从远程检查默认分支(在本例中为master),并为其创建本地分支。并且 git 内置了一些快捷方式,因此在带有单个遥控器的典型配置中,您可以说

git checkout branch-name

创建对应远程branch-name分支的本地分支。

请注意,当您执行此初始结帐时,您不想

git checkout remotes/origin/branch-name

因为那会做其他事情。这不是创建本地分支,而是将您置于“分离的HEAD”状态,HEAD 与远程分支在同一提交上。

【讨论】:

  • 非常感谢!这是非常有见地和有用的!
猜你喜欢
  • 2021-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多