• 日常搜索
  • 百度一下
  • Google
  • 在线工具
  • 搜转载

在Android Studio中使用Git轻松进行版本控制

如您所知,最好始终对您的项目(甚至是个人项目)使用源代码控制管理 (SCM)。你知道 android Studio 与 Git 的惊人集成用于源代码控制管理吗?如果您不知道或没有使用它的经验,请继续阅读这篇文章。即使您已经使用过 Android Studio 的 Git 集成,您仍然可能会在这篇文章中学到一些有用的技巧。

我将向您展示 Android Studio 中 Git 支持的许多特性,以及从 Android Studio 内部执行不同的 Git 操作(提交、推送、拉取、分支等)是多么容易。 

在本教程中,我将向您介绍 Android Studio 中可用的 SCM 功能列表。我们将研究以下领域:

  • 将新的 Android Studio 项目与 Git 集成

  • 使用 GitHub 或 Bitbucket

  • 探索版本控制窗口

  • 提交

  • 分支机构 

  • 从远程存储库推送和拉取

先决条件

为了能够遵循本教程,您需要:

  • 对Git 分布式版本控制系统的基本了解

  • Android Studio  3.0 或更高版本

1. 创建一个Android Studio项目

启动 Android Studio 并创建一个新项目(您可以命名它 GitApplicationDemo),其中包含一个名为 MainActivity. 

在Android Studio中使用Git轻松进行版本控制  第1张

2.集成Git 

设置好 Android Studio 项目后,单击VCS菜单,将鼠标悬停在Import into Version Control菜单上,然后选择Create Git Repository...

在Android Studio中使用Git轻松进行版本控制  第2张然后选择您的 Android Studio 项目的顶级父文件夹。

在Android Studio中使用Git轻松进行版本控制  第3张单击确定 按钮以使用 Git 初始化项目。在后台,Android Studio 执行 Git 命令:

git init

提醒一下,此命令将执行以下操作: 

此命令创建一个空的 Git 存储库——基本上是一个  包含、  、  和模板文件.git 的子目录的目录  。还会创建一个引用 master 分支的 HEAD的初始   文件。 objectsrefs/headsrefs/tagsHEAD

将弹出一个信息对话框: 

在Android Studio中使用Git轻松进行版本控制  第4张这告诉我们.idea文件夹中名为vcs.xml的 文件。此文件夹仅包含项目特定的设置。请注意,这是所有最新 IntelliJ IDEA 版本使用的格式。

理想情况下, 中的文件 .idea/ 不应到达 Git,因此您应该将其添加到.gitignore. 

默认情况下,我们切换到主分支。您始终可以在 Android Studio 的右下角查看项目的当前分支。 

在Android Studio中使用Git轻松进行版本控制  第5张

3. 与 GitHub 或 Bitbucket 集成

您可以在 Android Studio 的 GitHub 或 Bitbucket 帐户中轻松处理任何 Android 源代码存储库。让我告诉你如何做到这一点。 

从版本控制 > GitHub导航到文件 > 新建 > 项目。 

在Android Studio中使用Git轻松进行版本控制  第6张

(如果您想处理来自 Bitbucket 的存储库,请选择Bitbucket。如果您只想将来自 Internet 的 Git 存储库克隆到本地计算机,请选择Git菜单选项。)

接下来,输入您的 GitHub 帐户凭据,然后单击 Login。 

在Android Studio中使用Git轻松进行版本控制  第7张如果登录成功,  将弹出克隆存储库对话框。此对话框显示一个下拉列表,其中包含您当前拥有或曾经使用过的 GitHub 上的存储库列表。

在Android Studio中使用Git轻松进行版本控制  第8张单击 克隆将存储库克隆到已选择的父目录  中的本地计算机。

4.版本控制窗口

使用 Git 成功启动我们的 Android Studio 项目后,Android Studio 将显示版本控制窗口。单击版本控制选项卡(位于 Android Studio 的左下角),让我们探索一下我们在那里拥有的东西。请注意,您可以使用Alt-9快速打开此窗口。 

在Android Studio中使用Git轻松进行版本控制  第9张在这个窗口中,我们有三个不同的选项卡:Local Changes、Console和Log。 

局部变化标签

这显示了已在本地(在您自己的机器上)修改但尚未提交到存储库的文件列表。 

在Android Studio中使用Git轻松进行版本控制  第10张让我们看一下在本地更改选项卡中可用的项目工具栏

在Android Studio中使用Git轻松进行版本控制  第11张

  1. 单击此图标可刷新当前工作场所中的文件状态。快捷方式是Control-F5。 

  2. 单击此图标将提交您当前的更改。快捷方式是Control-Alt-Z。

  3. 单击此图标可回滚任何选定的更改。 

  4. 单击此图标以创建新的更改列表。请注意,更改列表是文件中的一组更改,表示源代码中的逻辑更改。快捷方式是Alt-Insert。 

  5. 单击此按钮可删除选定的更改列表。 

  6. 要激活更改列表,只需单击此图标。 

  7. 要将选定文件移动到另一个更改列表,请单击此图标。 

在Android Studio中使用Git轻松进行版本控制  第12张

  1. 单击此图标可展开以查看所有文件。 

  2. 单击此图标可折叠所有文件。 

  3. 单击此图标可显示按文件夹分组的已更改文件。 

  4. 单击此图标可将所选文件的路径复制到系统的剪贴板。 

  5. 单击此图标可显示被忽略的文件节点,其中包含 Git 忽略的现有文件的列表。

  6. 单击此图标可设置 Git 将忽略的文件列表。 

  7. 单击此图标可打开“预览差异”窗格以将当前文件与最新提交的修订进行比较。 

控制台选项卡

在此选项卡中,我们可以看到执行 Git 相关命令的结果。请注意,您不能在此选项卡中编写 Git 命令,而是在 Android Studio 的终端窗口中执行此操作。 

在Android Studio中使用Git轻松进行版本控制  第13张

日志选项卡

此选项卡显示已提交到本地和远程存储库的所有分支的所有更改。在此选项卡中,您可以浏览对任何分支的提交。 

在Android Studio中使用Git轻松进行版本控制  第14张
搜索框用于搜索具有输入字符串或正则表达式的提交。 

  1. 此下拉列表用于按分支过滤提交。要查看所有本地和远程提交,只需选择全部(默认)。 

  2. 要按作者过滤提交,请使用此下拉列表。您必须输入作者的姓名才能查看他们的提交。选择全部以查看所有用户的提交。 

  3. 使用此下拉列表按时间范围或特定日期过滤提交。要具体说明日期,只需单击选择并选择日期。选择全部以查看所有日期的提交。 

  4. 使用此下拉列表按修改文件的路径过滤提交。 

  5. 此按钮 (IntelliSort) 启用了一种更方便的方式来查看合并,方法是首先在合并提交的正下方显示传入的提交。 

  6. 如果启用此按钮,即使其中没有提交,也会完整显示长分支。 

  7. 使用此按钮刷新项目中的提交列表。 

  8. 要转到哈希、标签或分支,只需使用此按钮。 

  9. 单击此按钮可将所选提交中的更改应用到当前分支。 

  10. 单击此按钮以突出显示选定分支中尚未应用到当前分支的提交。 

您可以在IntelliJ IDEA 文档中了解有关版本控制工具窗口的更多信息。 

5.提交

您会注意到,当我们设置与 Android Studio 项目的 Git 集成时,我们的文件名的颜色变为棕色。根据 IntelliJ IDEA 官方文档,对于带有棕色标签的文件:

文件在本地存在,但不在存储库中,并且没有计划添加。 

现在让我们看看如何在 Android Studio 中进行提交。但首先,我们需要将工作目录中的更改添加到暂存区。在控制台中,我们将使用git add命令。 

git add <file> || <directory>

但我们可以直接在 Android Studio 中执行此操作。在Local Changes 选项卡中选择 Unversioned Files 下拉菜单 ,右键单击并转到 Git > Add 或使用 Control-Alt-A。请记住,选择根文件夹会将其中的所有内容添加到暂存区域。 

在Android Studio中使用Git轻松进行版本控制  第15张现在,您将观察到您的文件标签颜色已从棕色变为绿色。以下是 IntelliJ IDEA 文档关于绿色文件名的说明: 

文件计划添加到存储库。 

要详细了解文件名根据 Android Studio (IntelliJ IDEA) 中的文件状态而具有的不同颜色,请查看文件状态突出显示文档。 

要最终提交我们的更改,请单击“本地更改”选项卡中的“提交更改”按钮,将弹出 “提交更改”对话框。

在Android Studio中使用Git轻松进行版本控制  第16张

  1. 在这里,我们可以选择或取消选择应包含在此提交中的文件。默认情况下,检查所有暂存文件。 

  2. 在这里写下你的提交信息。如果您有之前写过的提交信息,它会在此处显示为默认值。 

  3. 在提交到 Git 之前选择要执行的操作。 

  4. 更改文件的并排比较。 

  5. 使用此下拉按钮,您可以提交并推送或仅提交。 

所以要提交,让我们写一个提交消息:

Initial commit

在Commit下拉列表中选择Commit以最终提交您的更改。请注意,您可以随时使用快捷键Control-K从 Android Studio 提交更改。 

如果您现在重新访问版本控制窗口中的本地更改选项卡,您将不会再看到那里列出的任何文件 - 因为我们已成功将它们提交到我们的本地存储库。 

请注意,您还可以导航到VCS > Git > Commit File... 进行提交,并导航到 VCS > Git > Add以添加暂存文件。此外,您可以单击 Android Studio 顶部主工具栏中的提交更改图标以快速进行提交(或提交并推送)。 

在Android Studio中使用Git轻松进行版本控制  第17张在我们的MainActivity.kt类中,我通过覆盖在类中做了一个简单的修改onResume()。你会注意到修改后的文件名颜色现在是蓝色的;这意味着我们已经修改了文件。 

在Android Studio中使用Git轻松进行版本控制  第18张

查看提交日志

现在,再次访问 版本控制窗口并转到日志选项卡。您现在将看到的是对该项目所做的提交。要获取有关任何提交的更多详细信息,只需单击它。 

在Android Studio中使用Git轻松进行版本控制  第19张

  1. 此主窗格根据所选过滤器显示项目上的所有提交。换句话说,这向我们展示了提交历史。 

  2. 此窗格显示受提交历史记录窗格中选择的提交影响的文件和文件夹。 

  3. 此窗格显示有关所选提交的更多详细信息。 

通过右键单击提交,您还可以看到一个菜单,允许您复制修订号、创建补丁、签出修订、从该提交分支、创建新标签以及将当前分支重置为该提交. 

在Android Studio中使用Git轻松进行版本控制  第20张

现在让我们看看如何查看添加、编辑或删除的代码。换句话说,我们想更详细地检查所做的更改。 

只需单击显示受提交影响的文件的窗口上方的显示差异图标。快捷方式是使用Control-D或双击文件或文件夹。 

在Android Studio中使用Git轻松进行版本控制  第21张

您将看到一个Show Diff 对话框,显示上一个提交和所选提交之间的差异。 

在Android Studio中使用Git轻松进行版本控制  第22张文件中的绿色区域突出显示了添加到文件中的行 - 如果您继续关注,您应该会看到一些。灰色区域突出显示已删除的线条。蓝色突出显示已更改的线条。尝试探索“显示差异” 对话框顶部可用的过滤器和图标按钮以了解更多信息。 

请注意,您还可以在“显示差异”对话框中看到对图像的更改!

通过右键单击文件,您还可以选择查看该文件的上次提交和当前提交之间的差异——显示差异(快捷键 Control-D)。您还可以编辑源代码 ( F4 )、打开存储库中的版本、还原选定的更改、显示修订历史记录以及显示该文件的提交详细信息。

在Android Studio中使用Git轻松进行版本控制  第23张

6.创建一个 Git 分支

默认情况下,主分支将是当前的。但是,建议始终从 master 分支出来,并在一个单独的、特定于功能的分支上进行工作。当您完成对功能的编码(并且当您测试了您的更改时),然后您将您的更改合并到主分支。 

让我们看看如何从 master 创建一个分支。 

转到 Android Studio 的右下角,然后单击Git: master下拉菜单。 

在Android Studio中使用Git轻松进行版本控制  第24张单击 新建分支按钮。 

在Android Studio中使用Git轻松进行版本控制  第25张输入分支名称。在我们的例子中,使用dev。 

在Android Studio中使用Git轻松进行版本控制  第26张最后,单击 Android Studio 的OK按钮以自动创建dev 分支并检出该分支。 

我们现在在dev 分支。如下所示:

在Android Studio中使用Git轻松进行版本控制  第27张在后台,Android Studio 执行以下命令:

 git checkout -b dev

请注意,我们还可以通过导航到VCS > Git > Branches > New Branch来创建新分支。 

7.合并 Git 分支

在dev分支中,只需创建一个基本活动ProfileActivity.kt 及其布局文件并提交您的更改。我们将看到如何 在 Android Studio 中将dev 与 master 合并。 

从当前分支(dev)检查到 master 分支(这意味着我们正在从dev 切换到 master)。 

合并、签出、删除、比较、重命名分支

如果您单击一个分支,您将看到一些可以在该分支上执行的操作。操作包括合并、比较两个分支、重命名分支、变基、签出和删除分支。 

在Android Studio中使用Git轻松进行版本控制  第28张我们将在这篇文章中研究如何合并分支。在 master 分支中,通过导航到dev分支并单击 菜单中的 Merge来合并dev分支。

在Android Studio中使用Git轻松进行版本控制  第29张而已!我们现在已经成功地将我们的 dev 分支合并到 master 分支。 

在Android Studio中使用Git轻松进行版本控制  第30张在幕后,Android Studio 执行命令:

git merge dev

请注意,我们还可以直接在 Android Studio 中进行高级合并。我们可以指定合并策略(Resolve、Recursive、Octopus、Ours 或 Subtree)或不使用快进合并模式。 

要在合并时进行设置,请导航到VCS > Git > Merge Changes...

在Android Studio中使用Git轻松进行版本控制  第31张这里可以选择多个分支进行合并,选择合并策略,编写提交信息。强烈建议您真正了解这些合并策略以及合并前是否使用快进模式。 

8.推送到远程仓库

每个 Git 项目都应该有一个远程或中央存储库,其他开发人员可以在该存储库中从世界任何地方就项目进行协作。在 Android Studio 中,还可以将我们的提交或更改推送到远程存储库。为此,请导航至VCS > Git > Push... 

在Android Studio中使用Git轻松进行版本控制  第32张在这里,我们可以通过单击弹出的Push Commits对话框中的Define remote链接来添加远程存储库 URL。最后,完成后单击按钮!一个快捷方式是使用Control-Shift-K。 

Android Studio 在后台执行以下命令:

git push

您还可以通过单击主工具栏中的提交更改图标或使用 Control-K快速进行提交。 

在Android Studio中使用Git轻松进行版本控制  第33张

9.从远程仓库拉取

要使用远程存储库中的最新更改(您应该已经添加远程源)更新您的项目(进行拉取),请导航到VCS > Git > Pull。这将使用远程存储库中的最新代码自动更新您的 Android Studio 项目。 

要启动拉取,您还可以单击主工具栏中的更新项目图标或使用 Control-T 快捷方式。 

在Android Studio中使用Git轻松进行版本控制  第34张如果这样做,Android Studio 将在pull后台执行 Git 命令:

git pull

请注意,如果您在拉取或推送时遇到合并冲突,Android Studio 将显示一个非常方便的合并冲突对话框,帮助您解决该冲突。 

结论

在本教程中,您了解了执行通常在命令行或终端中执行的不同 Git 操作是多么容易。使用 Android Studio 的 Git 工具可以更轻松、更高效地与其他开发人员协作处理 Android 项目。 


文章目录
  • 先决条件
  • 1. 创建一个Android Studio项目
  • 2.集成Git
  • 3. 与 GitHub 或 Bitbucket 集成
  • 4.版本控制窗口
    • 局部变化标签
    • 控制台选项卡
    • 日志选项卡
  • 5.提交
    • 查看提交日志
  • 6.创建一个 Git 分支
  • 7.合并 Git 分支
    • 合并、签出、删除、比较、重命名分支
  • 8.推送到远程仓库
  • 9.从远程仓库拉取
  • 结论