Как использовать Git на Android? - PullRequest
70 голосов
/ 23 апреля 2010

У меня есть настольное приложение, использующее git для синхронизации. У меня также есть приложение для Android, которое делает то же самое, что и рабочий стол, но я не знаю, как выполнить синхронизацию на нем. Я не нашел никакой реализации Git на Android. Я нашел jgit, но он плохо документирован, и я не смог сделать даже коммит с этим.

Я думал об удаленных командах для моего git-сервера из моего приложения для Android, но это действительно дразнит меня. Не могли бы вы сказать, существует ли какая-либо другая реализация git, которую можно использовать на Android? Если у вас есть идеи, как это решить, скажите, пожалуйста.

Ответы [ 14 ]

18 голосов
/ 23 июня 2011

С тех пор как этот вопрос был впервые опубликован, на рынок было добавлено приложение для Android, которое может проверять Git-репозитории, которое называется Agit . Он еще не может зафиксировать или нажать, но функциональность clone / fetch / pull полезна. Другая проблема заключается в том, что для Agit необходимо установить исправленную версию ConnectBot с исправлением , если вы хотите использовать ключи SSH. Если у вас уже есть ConnectBot, сначала удалите его. Я этого не делал и столкнулся с проблемами.

14 голосов
/ 23 апреля 2010

Другой вариант - использование ASE. Кажется, есть полнофункциональная реализация git на чистом Python в https://github.com/jelmer/dulwich.

11 голосов
/ 11 октября 2011

Если устройство имеет root-права, вы также можете использовать приложение debiantstrap (http://wiki.debian.org/Debootstrap) для debian, чтобы создать образ debian / armel, смонтировать его на своем устройстве Android и выполнить привязку к нему, у вас есть подходящая возможность, поэтому любой пакет доступно для armel может быть установлено на вашем устройстве (для установки git: aptitude install git). Посмотрите здесь информацию о том, как установить Debian для вашего Android: http://lanrat.com/install-debian-on-android/

8 голосов
/ 27 июля 2012

Некоторые другие решения, которые теперь доступны, кроме Agit , так как последний вопрос был дан ответ:

  • Git & Mercurial клиент для bitbucket под названием Bitbeaker

  • Git-приложение от github

  • Android Java IDE AIDE также имеет функцию git, так что вы можете скачать ее из каталога git, а если это приложение для Android, изменить и запустить его.

6 голосов
/ 17 ноября 2014

Вы также можете попробовать Pocket Git: https://play.google.com/store/apps/details?id=com.aor.pocketgit

Pocket Git поддерживает SSH (с парольными фразами, но у закрытых ключей, похоже, есть некоторые проблемы) и HTTP, клонирование, этап, нестабильность, фиксация, push и pull; создавать, удалять и объединять ветки; и он также имеет графический просмотрщик журнала и может отображать различия.

Отказ от ответственности: я разработчик

6 голосов
/ 04 сентября 2012

Я бы посоветовал взглянуть на Гидро . Это реализация Git-сервера для Android с управлением пользователями и хранилищами, а также поддержкой динамического DNS. Вы можете легко сохранить свой код на устройстве Android и получить доступ к нему через соединение WiFi.

5 голосов
/ 22 июля 2018

Вы можете установить https://github.com/termux/termux-app @ https://play.google.com/store/apps/details?id=com.termux, тогда вам просто нужно открыть терминал и набрать:

  1. apt update
  2. apt install git

enter image description here

5 голосов
/ 04 февраля 2017

MGit является преемником SGit, и он очень хорошо работает для меня.

4 голосов
/ 27 июля 2015

Многие уже существующие приложения были опубликованы в ответах, но следующие ссылки могут быть полезны для тех, кто ищет собственную реализацию:

  1. libgit2

    Это реализация на чистом C, которая претендует на высокую переносимость. И проект также описывает , как скомпилировать исходники для платформы Android . Теперь нужно написать для него привязку JNI. В некоторых случаях достаточно даже исполняемого двоичного файла.

  2. HTTP (немой) протокол

    В качестве альтернативы, если вы просто заинтересованы в операциях чтения из хранилища, этот протокол может быть реализован через HTTP. Существует также интеллектуальный протокол, который зависит от ssh и выполняет дифференциальные передачи.

  3. JGit Core Sources

    Использование только основного пакета из его источников. Все зависимости javax.* и другие несовместимые / чужие классы должны быть заменены альтернативами для Android. Но стоит усилий, если чистая реализация Java может быть перенесена на Android.

4 голосов
/ 09 апреля 2013

Обновление:

Комментарий под этим ответом OP- (Натан Осман)

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


Оригинальный ответ

Я только что (около апреля 2013 г.) опубликовал приложение в магазине Play под названием GitDroid . Приложение позволяет делать следующее:

  • клон удаленных репозиториев
  • вытащить из пульта и объединить новые ревизии
  • просмотр коммитов и просмотр файлов

Overview Tab of GitDroid

Приложение еще не может передать на удаленный компьютер или сделать локальные коммиты - это запланировано для будущего обновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...