如何在 Android Studio 中使用 git 分支

Posted

技术标签:

【中文标题】如何在 Android Studio 中使用 git 分支【英文标题】:How to use git branch with Android Studio 【发布时间】:2014-08-30 16:39:30 【问题描述】:

我是 git 新手。我有一个非常简单的使用 git 的场景。我的第一个版本是用 android Studio 编写的。现在我想使用一些新功能。到目前为止我做了什么:

    在我的 Android Studio 中启用了 VCS 从 Android Studio 为我的项目创建了一个本地存储库 将我的本地存储库推送到我的 Bitbucket 远程存储库 ($git push -u origin master)

现在我对下一步感到困惑:创建一个功能分支。我应该在本地存储库中创建一个分支:

$ git branch --track feature1 origin/master 

或者我应该从 Bitbucket 门户网站创建一个新分支,然后克隆新分支?

我也想知道如何使用 Android Studio 切换分支?例如,从功能分支切换到主分支以处理某些修补程序。每次切换分支时是否需要使用 Bitbucket 插件从远程存储库中签出项目,或者我可以在 Android Studio 中进行热切换?

谢谢!

【问题讨论】:

【参考方案1】:

您应该可以直接从 Android Studio 执行此操作。

最简单的方法是转到 Android Studio 窗口的右下角,您应该会在其中看到文本“Git:分支名称”,在您的情况下,它应该显示“Git:master”。单击它,它将显示一个小菜单,其中包含本地和远程可用的不同分支,还应该有一个选项“+新分支”,它将为您创建一个新分支并将您切换到它。

然后您应该能够更改一些代码,提交并将其推送到远程。合并和签出分支也可以从同一个菜单中完成。同样的事情也可以从菜单栏选项“VCS”中完成

【讨论】:

谢谢。这看起来像我想要做的。我还有一个问题,我在本地仓库中从命令行 $git branch --track feature1 origin/master 创建了一个分支,然后结帐到该分支。我的 Android Studio 确实显示我在 Git:feature1 分支上。然后我在我的源文件夹中添加一个新文件,文件变成蓝色,我认为这意味着添加了一个新文件,但尚未提交。然后我切换到主分支。文件变为绿色。这是什么意思?我想如果切换到主分支,我不应该看到新添加的文件?是吗? 这里是描述jetbrains.com/idea/webhelp/checking-git-project-status.html的所有状态颜色 感谢您的链接。但是为什么主分支显示我添加到 feature1 分支的文件?如果这是正确的行为,当我编译 master 分支时,我在 feature1 分支中所做的所有更改和文件也会被编译吗?我现在很困惑。 我不知道这可能是android studio中的一个错误。 我找到了原因。当我在 feature1 分支上时,我需要提交并推送更改。一旦我这样做了,一切正常。【参考方案2】:

您可以通过 shell 轻松完成(推荐使用 Git Bash)并首次尝试以下操作:

 git pull [remote] [branch]

例如:

git pull origin master

在这之后,你总是可以做到这一点,没有任何麻烦。

【讨论】:

【参考方案3】:

这是我知道的在 Android Studio 1.5 中更新远程分支的最佳方式

1) 转到 VCS > Git > Pull(确保您首先从 master 中提取了最新的更改)

2) 单击此屏幕上的蓝色刷新按钮

3) 注意你所有的新分支都出现了,点击你想要切换到的那个的复选框,然后点击“拉”按钮

4) 返回 Android Studio 右下角的“Git:master”菜单,您会注意到您的新分支出现在远程部分

5) 点击你要结账的分支并选择“作为新的本地分支结账”

【讨论】:

好,没有明确的选项来更新分支列表,我尝试了很多,在发现你的评论后,谢谢@whyoz @PankajAndroid 在 bitbucket 中创建远程分支后,这也对我有用。这肯定是答案的第二种选择(直到 AS 有内置的远程更新)。

以上是关于如何在 Android Studio 中使用 git 分支的主要内容,如果未能解决你的问题,请参考以下文章

android studio gradle dependencies 包存放在哪儿?

Android Studio Git 推送被拒绝

Android Studio 2.3版本 以及相应的gradle包

如何在android studio中更新maven依赖

如何在模块(Android Studio)中使用 com.android.databinding?

如何在 Android Studio 中使用我自己的 Android.mk 文件