【问题标题】:Git Repo Setup work locally on branchesGit Repo Setup 在分支本地工作
【发布时间】:2011-11-11 13:22:06
【问题描述】:

我有一个 repo 设置,并且正在学习分支是如何工作的。现在我在远程仓库上有两个分支: 掌握 开发

在 git 和 svn 之间使用同一个单词 checkout 有点令人困惑,因为在 svn 中它意味着拉取所有文件,但在 git 中它只意味着切换提交的位置。

我在创建 dev 分支之前尝试 git clone,但是当我尝试从本地机器推送时,它给了我一条消息说它不会这样做,因为如果我这样做了索引和树会变得混乱.

我想在我的本地机器上进行开发,并可能将其与主分支进行比较和比较。 git clone 没有拉下 dev 分支,只有 master 一个。我该怎么做呢?

【问题讨论】:

    标签: git branch git-branch


    【解决方案1】:

    实际上,git clone 确实获取了 master 分支并检查了它。您现在可以使用git checkout --track -b dev origin/dev 签出开发分支(从远程origin 签出分支dev,并创建一个名为dev 的新(本地)分支来跟踪它)。

    【讨论】:

    • hmm,所以我做了 git branch,我只看到了 master。因此,如果我执行 git checkout --track -b dev origin/dev ,它实际上会跑到远程存储库并询问其他信息,还是只是从本地克隆副本中提取?
    • 您的“本地”存储库知道远程分支,但由于没有“本地”版本的分支,git branch 不会显示它。 git branch -a 应该显示它。 checkout 命令将从远程获取 dev 分支并制作它的本地版本。
    【解决方案2】:

    你只需要一个 repo 的克隆来做你正在寻找的事情。当您在 dev 分支中工作时,您可以将您的更改与任何其他分支进行比较。例如,要显示 dev 和 master 之间的简单更改列表,您可以在 dev 分支中执行:

    git diff --stat master
    

    如果您想查看两者之间的实际变化,您可以这样做:

    git diff master
    

    许多命令将允许您传入分支名称来执行此类功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 2012-10-07
      • 2013-11-15
      • 2016-10-14
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      相关资源
      最近更新 更多