Get from vcs android studio

Подключаем Git к Android Studio

Android Studio умеет работать с системами контроля версий (version control system, сокр.VCS). Самой популярной системой является Git, которая стала практически стандартом во многих языках программирования.

Сама по себе Git управляется через командную строку. Для изучения её возможностей есть множество документации. Мы сфокусируемся на подключении Git к проекту в Android Studio.

Чтобы лучше понять объяснения, откройте старый проект Hello Kitty или создайте его заново, если успели его удалить.

Для начала нужно установить Git. Перейдите на страницу загрузки http://git-scm.com/downloads и скачайте последнюю версию под вашу операционную систему.

Запускаем процесс инсталяции. Не рекомендую устанавливать в папку по умолчанию в системной папке Windows C:\Program Files, так как из-за пробела между словами часто возникают проблемы у многих пользователей при работе с командной строкой. Я установил в папке D:\Git. Желательно также прописать путь к папке D:\Git\bin\ в переменной окружения PATH.

Запускаем файл git-bash.exe для запуска консоли. Следует сконфигурировать Git, указав своё имя и электронный адрес, чтобы можно было установить авторство изменений в коде. Вводим по очереди две команды:

Возвращаемся в студию. Выбираем в меню File | Settings и в диалоговом окне в левой части выбираем секцию Version Control | Git. Нажимаем кнопку с многоточием и находим нужный файл на диске.

Для проверки можно щёлкнуть по кнопке Test, вы должны увидеть радостное сообщение в успешном случае. Закрываем окно настроек, применив изменения.

Данная настройка запоминается и в новых проектах этот шаг можно пропустить.

Далее идём в меню VCS | Import into Version Control | Create Git Repository и в диалоговом окне выбираем корневую папку проекта. Для удобства можно сразу нажать на значок студии (третий слева), чтобы сразу переместиться в корневую папку, если окно откроется с другой папкой.

Нажимаем кнопку OK и создаём локальный Git-репозиторий. Под капотом выполняется команда git init.

Как только вы это сделаете, в студии произойдут удивительные изменения. Многие имена файлов в левой панели окрасятся в коричневый цвет.

Коричневый цвет шрифта означает, что файл распознан системой контроля версий на локальном компьютере, но ещё не добавлен в репозиторий. Нам следует подсказать системе об этом.

Но не будем торопиться. При создании локального репозитория студия также создала несколько специальных файлов .gitignore, которые помогают системе контроля версий игнорировать некоторые файлы проекта при изменениях. Один такой файл вы можете найти в корневой папке проекта, а второй в папке app. Можете открыть их любым текстовым редактором. Начнём с файла из корневой папки.

Как видим, Git будет игнорировать файл .idea/workspace.xml, который относится к конфигурации самой студии на вашем компьютере и к самому проекту не имеет отношения. Аналогично будет проигнорирован файл local.properties, который является уникальным для каждого компьютера. Можно указывать не только отдельные файлы, но и папки. Например, в списке присутствует папка /build. В эту папку попадают файлы при компиляции. Их нет смысла отслеживать, так как они постоянно меняются, когда вы запускаете приложение для проверки. Все файлы, которые должны быть проигнорированы, выводятся обычным чёрным цветом. Обратите внимание на имя файла local.properties на скриншоте выше.

Кроме чёрного и коричневого цвета, имена файлов могут также выводиться синим цветом (файл изменён), зелёным (новый файл).

При подключении Git в нижней части студии появится новая вкладка Version Control. Откройте её. Сейчас вы видите две секции: Default и Unversioned Files. Секция Default сейчас пуста. При изменении или создании новых файлов они попадут в эту секцию. Секция Unversioned Files содержит файлы, которые ещё не были учтены системой контроля версий.

Читайте также:  Shazam apk для андроид

При создании нового проекта файлы автоматически не учитываются и находятся в секции Unversioned Files. Мы хотим их перенести в репозиторий. В левой части панели находятся две колонки со значками. Найдите значок с изображением папки в скобках (при подведении курсора появится подсказка Group by Directory) и нажмите на неё. Файлы будут сгруппированы, как в проекте. Так проще вам будет понять структуру.

Щёлкаем правой кнопкой мыши на Unversioned Files и выбираем в контекстном меню Add to VCS. Либо можно перетащить мышкой эту секцию на секцию Default. В результате все файлы переместятся и будут учтены системой контроля версий.

После добавления файлов нажмите на значок с зелёной стрелкой вверх и надписью VCS (Commit Changes). Откроется диалоговое окно. В текстовом поле Commit Message введите текст, поясняющий изменения в проекте и нажмите кнопку Commit.

Файлы исчезнут из секции Default и теперь находятся под контролем Git. При изменении файл снова попадёт в данную секцию и вам снова нужно выполнить предыдущую операцию Commit.

Например, откроем файл манифеста и добавим разрешение на работу с интернетом. Файл окрасится в синий цвет. Комментируем изменения в проекте, добавив сообщение Добавлено разрешение на интернет.

Просматривать изменения можно на вкладке Log. Вы можете просматривать коммиты и ветки.

Таким образом мы познакомились с базовыми приёмами работы с Git.

Также вы можете создавать новые ветки, сливать их в одну и выполнять прочие операции.

Естественно, вы можете также выкладывать проект на GitHub или наоборот вносить изменения в локальный проект из удалённого репозитория.

Источник

ПШЕ AndroidStudio или как использовать VCS Tools по полной

Примерно такая реакция была у меня после получения апрува первого пул реквеста на первой неделе работы в одной крупной компании. Причина такой реакции весьма простая — далеко не каждый заказчик/работодатель может себе позволить такую роскошь как большая команда на одну платформу, в особенности это касается мобильной разработки. Из-за ненадобности и возможности быстрой коммуникации в своем мирке, далеко не все вещи, которые используют крупные мастера своего дела, обретают актуальность в небольших командах. Говоря проще — а на кой мне это надо, если мы и так хорошо без этого жили и хорошо справлялись?

После перехода в новую компанию я столкнулся с той же проблемой, но уже по другую сторону баррикад. Если вы еще не догадались о чем пойдет речь дальше — это GIT, говоря точнее, его встроенный инструментарий в AndroidStudio и как он позволяет сделать нашу работу проще.

Я постараюсь не обращать внимания на банальные вещи: init VCS; new/rename/push branch; rebase/merge onto branch; setup remotes e.t.c. Я постараюсь обратить внимание на те элементы, которые по боязни своего незнания, я долгое время избегал(и жалею).

Amend commit

В случае, когда Вы решили дополнить свои изменения к последнему коммиту, стоит воспользоваться следующей коммандой:

А можно ускорить процесс:

Edit commit message

Допустим, Вы создали большой PR с большим количеством коммитов, да перед пушем заметили, что одно из сообщений некорректно и было бы неплохо его отредактировать, пока жесткий ревьювер не четвертовал Вас за такую оплошность:

Interactive rebase

Я боюсь представить выполнение одной из недавних задач по рефакторингу без знаний использования этого инструмента. Проблема заключалась в том, что мне нужно было отрефакторить N файлов. Каждое изменение следовало делать отдельным коммитом, чтобы не собирать большую пачку в одну кучку и была возможность отдельного форсирования каждого из файлов/коммитов в будущем.

Пачка была быстро собрана, коммиты получились хаотичные, да еще и на ревью получил порцию исправлений… Окей, не проблема.

Проверяем отставание наших изменений от ветки, в которую мы хотим вливаться.

Либо через GUIню:

Дальше скачем в tools:

Указываем количество коммитов, которые хотим отредактировать:

Или сразу укажем таргeт ветку:

Дальше определяемся что нам нужно сделать:

Подробнее про команды:

Коммиты отредактированы, осталось только подлить все на ремут сервер. Но ведь история изменена? И хэши явно не совпадают с тем, что находится на удаленной ветке.

Force push перезатрет нашу историю и примет новые изменения как родные.

Читайте также:  Как сделать андроид 64 бит

Multiple remotes

Скорее всего это лишнее, но, исходя из моей практики, далеко не все обращают внимание на эту фичу.

Что это? В случае работы в 2 и более ремут хранилищах(актуально, когда доступ в основное хранилище по прямому запросу закрыт), быстрое переключение между удаленным ветками для пушей/пулов тоже упрощен:

Git blame

Полезный трюк для просмотра автора внесенных изменений:

Теперь про более эффективную работу. Если Вы не поленились и внесли правила ведения коммитов в Вашем проекте, стоит включть IssueNavigationLink :

(Кроме всего этого, Вы можете настроить проверку формирования коммит мессаджа с помощью git-hooks — https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)
Отредактируем файл project/.idea/vcs.xml :

Подбросим свою регулярку для анализа коммит месаджа:

Теперь просмотр истории либо блейма возможен с навигацией напрямую в задачу таск трекинговой системы с автоподстановкой необходимого ID.

Git cherry-pick

Не путать с командой cherry!

Допустим, Вы работаете над фичей/фиксом, во время работы заметили блокирующий Вас баг и поправили его, да всю свою работу не закончили и в рабочую ветку не влились. Ваши компаньоны отрепортили, что проблема блокирует не только Вас, но и кого-то другого, и было бы неплохо поделиться им. Но Вы все еще работаете над своей задачей, а отвлекаться нет желания… В таком случае, будет проще всего забрать Ваш 1 коммит в другую ветку и экстренно вмержить его в рабочую (фризную ветку). Как это сделать?

Заключение

В заключении хотелось бы сразу вспомнить вечный холивар на тему: терминал или GUI редактор для работы с VCS? Тут дело вкусовщины. Понятно дело, что CLI GIT-а более мощный инструмент и для спецефичных задач без него никуда. Но для ежедневных задач встроенный пакет утилит для работы с системами контроля версий в AS — просто must have и сократит время разработки в разы.
Надеюсь, что Вы нашли что-то новое в этой статье и помог облегчить Ваши трудовые будни.

Источник

Android Studio Git Tutorial

This tutorial is to explain how to use Git version control with Android Studio. Git is a free distributed version control system. If you are not using version control for software development, I urge you to start learning and using it. Git is a good choice from among the list of version control software like CVS, Subversion and ClearCase.

Android Studio is best in comparison with Eclipse when it comes to Android development. Android Studio is the official IDE for Android development and it is based on IntelliJ IDEA. It is easy to migrate and it will take just a couple of days to get used to Android Studio. To help you settle with it, I have listed essential Android Studio shortcuts in an earlier tutorial.

Git with Android Studio

Android studio comes with Git client. All we need to do is just enable and start using it. As a prerequisite, you need to have Git installed in local system. You can download Git from http://git-scm.com/downloads and install it.

0. For the Experienced

If you are an experienced developer, comfortable with Android Studio and Git, then this section summarizes the whole tutorial. For the rest of us, just skip this part and proceed with the detailed steps.

  1. In Android Studio enable the version control for the project by, VCS –> Enable Version Control Integration
  2. Open command line/terminal and add the project to Git repository by, git remote add
  3. Add files by, VCS –> Git –> Add and commit/push by, VCS –> Commit Changes

1. Test if Git is Configured

In Android Studio, go to ‘File’ –> ‘Settings’ –> ‘Version Control’ –> ‘Git’. Then click ‘Test’ to ensure that Git is configured properly in Android Studio.

2. Enable Version Control Integration

Prior to using Git or any other version control with an existing project, ‘version control integration’ should be enabled. In Android Studio, got to ‘VCS’ –> ‘Enable Version Control Integration’. This step is for an already existing project in Android Studio, that is not is integrated with any version control.

Читайте также:  Как удалить все вкладки с андроида

On enable, we will get a dialog window with options to choose like CVS, Git, Mercurial and Subversion. Now in this tutorial, we have take Git as example.

On successful enable the options under VCS menu will change showing the Git options to add, commit, etc. The color of the files in Android Studio project explorer will change to brown from previous black. This indicates that the files are new and yet to be added to Git server.

3. gitignore – Exclude Files from Git

This is an important step before adding the project files to Git version control. We do not want all the files from Android Studio to be added to Git. Files like generated code, binary files (executables) should not be added to Git (version control). Git provides a feature using which we can inform Git that the list of files given should be excluded in version control.

Create a TXT file and name of the file should be “.gitignore”. There is no name for this file and ‘gitignore’ is the extension. Its just a text file with list of file names to be excluded. You can put this file in the project root folder in Android Studio. Following is my .gitignore file for Android projects. Its almost the same for all Android projects.

4.1 Git with Local

Now the project is ready to use with Git version control. Now it depends on your choice of the Git server. If you choose to use Git in just your local system (which is highly unlikely), you are all set. Go to “VCS –> Git –> Add” and the files are now added to Git and then you need to commit the changes. Now go to “VCS –> Commit Changes” and you will get a dialog to enter the comments and to commit. Done and the project is added to Git.

If you wish to add the project to a remote repository that is residing somewhere on the network you need to add the project to remote repository and then use it. In the following sections, I will give some popular Git servers and show how to use them.

4.2 Git using GitHub with Android Studio

GitHub is an online service for project hosing using Git version control. To host the project on Git, a Git account should be created in github.com. Now you can share the Android project on GitHub. Go to “VCS –> Import into Version Control –> Share Project on GitHub”

Login with GitHub credentials:

Create a new repository on GitHub and push the project to the GitHub repository.

4.3 Git using Bitbucket or Any Repo with Android Studio

Bitbucket does not have a direct import feature as GitHub has. But it is too simple to do. For remote Git repositories like Bitbucket which does not have an explicit import feature in Android Studio, we can use the command line and add the project to the remote repository. This is also applicable if you are in a company network and you have your own remote Git server.

Go to terminal, change to project root in Android Studio and execute the following command. The URL is the Git remote repository.

Comments on «Android Studio Git Tutorial»

Thanks for posting this tutorial. Its nicely explained and very easy to understand in the simple words that you have written, Joe.

Thanks for the publishing to GitHub part. I tried and it works! Really helpful.

I may have missed it but I don’t recall reading how to put the txt file in the root folder of Android for Git, GitHub.

An explanation or short walk through would also be very helpful. Thanks for all of your help.

Comments are closed for «Android Studio Git Tutorial».

Источник

Оцените статью