首页 > 解决方案 > 在 git 克隆一个 repo 之后,我只得到一个分支而不是所有分支。Android Studio 无法识别其余部分

问题描述

我在 Udacity 中有一个示例 Android 项目,其中包含几个练习,每个练习都在不同的分支中。我已经分叉了存储库,然后 git 从 Android Studio 终端克隆了分叉的版本。但是,当我 git branch 查看可用的分支时,唯一存在的分支是名为 develop_branch 或 StarterCode 的分支。你可以在这里看到回购。因此,如果我尝试对某些练习进行 git 分支,则会创建一个新分支。最重要的是,我在 Android Studio 中看到的代码来自唯一被克隆的分支......我试图为类似的问题实施一些解决方案,比如Git-克隆 repo 后我的分支没有显示,或者只有 master 分支是克隆 Git 存储库后可见,但是我认为具体问题是不同的。我相信它与 Android Studio 特别有关。

我想补充一点,几天前我对另一个项目做了同样的事情,没有这些问题。一切正常。唯一的区别是,当我第一次克隆 repo 时,我克隆到了错误的文件夹中。然后我将其删除并将其克隆到我想要的文件夹中。如果这是导致问题的原因,有没有办法解决它?

标签: gitandroid-studiogithubversion-control

解决方案


我已经分叉了存储库,然后 git 从 Android Studio 终端克隆了分叉的版本。但是,当我 git branch 查看可用的分支时,唯一存在的分支是名为 develop_branch 或 StarterCode 的分支。

这是 git 的工作方式。当您在本地克隆具有多个分支的 git 存储库时,只有默认分支将是 checkout。基于远程仓库,目前是默认分支develop_branch。因此,当您从 github 克隆 git repo 时,唯一的本地分支是develop_branch.

要切换到对应远程分支的另一个分支,可以使用命令:

git checkout <remote branch name>

然后远程分支将在本地结帐。

要检查两个分支之间的差异,可以使用以下命令:

git diff branchname1 branchname2 --name-only

比如你可以查看develop_branchT0X.01-Exercise-GoogleApiClientby之间的区别git diff develop_branch T0X.01-Exercise-GoogleApiClient --name-only

develop_branch如果文件在和之间有不同的版本T0X.01-Exercise-GoogleApiClient,但在 android studio 中显示相同的代码,那么您可以从以下方面进行故障排除:

  1. 检查分支是否切换成功

    假设您需要从 切换develop_branchT0X.01-Exercise-GoogleApiClient,您可以在 android studio 窗口底部查看当前分支。

    在此处输入图像描述

  2. 关闭文件并重新打开

    如果文件内容没有对应不同的分支发生变化,您可以关闭文件并重新打开,然后再次检查内容。


推荐阅读