Comment utiliser Git sur Android?

j'ai une application de bureau utilisant git pour la synchronisation. J'ai aussi une application android qui font la même chose que le bureau, mais je ne sais pas comment faire la synchronisation de la partie. Je n'ai trouvé aucune implémentation de git sur android. J'ai trouvé un jgit, mais son malaise documenté et je n'ai pas été en mesure de faire même un commit avec cela.

je pensais aux commandes à distance de mon serveur git à partir de mon application android, mais c'est vraiment une taquine pour moi. Pourriez-vous dites-moi si d'autres implémentations git qui peuvent être utilisées sur android existent? Si vous savez comment résoudre ça, dites-le-moi.

59

14 réponses

une autre option est D'utiliser L'ASE. Il semble qu'il y ait une implémentation purs python complète de git à https://github.com/jelmer/dulwich .

14
répondu rascalking 2016-04-06 16:56:33

depuis que cette question a été posée, une application Android a été ajoutée sur le marché qui permet de consulter les git repos, appelé Agit . Il ne peut pas encore s'engager ou pousser, mais la fonctionnalité clone/fetch/pull est utile. L'autre problème est qu'une version de ConnectBot doit être installée avant Agit si vous voulez utiliser les clés SSH. Si vous avez déjà ConnectBot, désinstallez-le d'abord. Je ne l'a pas fait et a couru dans des problèmes.

16
répondu polymathica 2011-06-22 21:14:36

si le périphérique est enraciné, vous pouvez aussi utiliser debootstrap ( ) de debian. http://wiki.debian.org/Debootstrap ) application pour créer une image debian/armel, la monter dans votre appareil android et la chrooter, vous avez aptitude ici pour que n'importe quel paquet disponible pour armel puisse être installé sur votre appareil (pour installer git: aptitude installer git). Regardez ici pour savoir comment installer debian pour votre android: http://lanrat.com/install-debian-on-android/

11
répondu emerino 2013-08-29 11:49:53

quelques autres solutions qui sont maintenant disponibles, assied Agit , depuis cette question a été la dernière réponse:

  • Un git et mercurial client pour bitbucket appelé Bitbeaker

  • Un git application à partir de github

  • the Android Java IDE AIDE also has git fonctionnalité, de sorte que vous pouvez télécharger à partir d'un répertoire git et si c'est une application Android Modifier et exécuter aussi.

8
répondu knowledge_is_power 2012-07-27 15:42:41

vous pouvez aussi essayer Git de poche: https://play.google.com/store/apps/details?id=com.aor.pocketgit

Pocket git prend en charge SSH (avec des clés privées et des passphrases) et HTTP, cloner, stage, unstage, commit, push et pull; crée, delete et merge branches; et il dispose également d'un visualiseur graphique log et peut afficher des diffs.

clause de non-responsabilité: je suis le développeur

7
répondu André Restivo 2014-11-16 21:00:22

je suggère de jeter un oeil à Gidder . Il s'agit de l'implémentation du serveur Git pour Android avec la gestion des utilisateurs et des dépôts, ainsi que la prise en charge des DNS dynamiques. Vous pouvez facilement stocker votre code dans votre appareil Android et accéder à l'aide d'une connexion WiFi.

6
répondu antoniy 2012-09-04 13:30:40

mise à jour:

Commentaire en dessous de cette réponse par OP- (Nathan Osman)

malheureusement, j'ai été forcé de retirer l'application après quelques changements de politique récents sur la boutique Play qui ont exigé des éditeurs pour avoir leur adresse affichée sur la page de la boutique de l'application.


Réponse Originale

je viens (circa avril 2013) a publié une application sur le Play store nommé GitDroid . L'application vous permet de faire ce qui suit:

  • clone dépôts distants
  • tirer à partir de la télécommande et de fusionner les nouvelles révisions
  • afficher les validations et parcourir les fichiers

Overview Tab of GitDroid

l'application ne peut pas encore push to a remote ou make local commits - ceci est prévu pour une future mise à jour.

4
répondu Nathan Osman 2017-05-23 11:54:31

MGit est le successeur de SGit, et il fonctionne très bien pour moi.

4
répondu smartwjw 2017-02-04 07:31:48

C'est comment j'allais le faire:

Eh bien, vous voudrez probablement définir une interface pour vos besoins de synchronisation.

vous implémentez cette interface en C pour le bureau et l'appareil android (avec L'aide du NDK) en faisant l'implémentation utiliser git (natif).

ensuite, pour L'application Android, vous codez une couche JNI sur le dessus pour qu'elle expose l'interface à Java.

la partie délicate serait d'avoir les différentes commandes git compilent pour Android: vous devrez réécrire les makefiles.

2
répondu Gregory Pakosz 2010-04-23 18:39:15

un grand nombre d'applications déjà existantes ont été publiées dans les réponses, mais les liens suivants pourraient être utiles pour ceux qui cherchent leur propre mise en œuvre:

  1. libgit2

    il s'agit d'une implémentation pure C qui prétend être très portable. Et le projet décrit également comment compiler les sources pour la plate-forme android . Maintenant, ce qui doit être fait est d'écrire un JNI contraignant pour elle. Même un exécutable binaire serait suffisant dans certains cas.

  2. protocole HTTP (dumb)

    comme alternative, si vous êtes purement intéressé par les opérations de lecture à partir d'un dépôt, ce protocole peut être implémenté via HTTP. Il existe également un protocole intelligent qui dépend de ssh et qui effectue des transferts différentiels.

  3. JGit De Base Sources

    utilisant seulement le paquet de base de ses sources. Toutes les dépendances javax.* et autres classes incompatibles / alien devront être remplacées par des alternatives android. Mais cela vaut la peine si une implémentation Java pure peut être portée sur android.

2
répondu S.D. 2015-07-27 11:37:04

Try SGit , il peut commit & push sur SSH avec les touches pssphrase-less et il est disponible sur F-Droid . Il est construit sur le sommet de JGit. Il n'est pas parfait (encore) et l'implémentation de JGit n'est pas aussi bonne que git original, mais semble utilisable.

2
répondu Josef Kufner 2016-09-10 07:14:26

une autre option est CubeGit.

nous avons publié CubeGit sur Google Play Il ya quelques jours.

il s'agit d'une interface vers un binaire git compilé en croix et supporte également Local commits et push via SSH/http/https.

1
répondu CubeWorks 2013-11-20 15:57:20

vous pouvez installer https://github.com/termux/termux-app @ https://play.google.com/store/apps/details?id=com.termux , il vous suffit d'ouvrir le terminal et de taper:

  1. apt update
  2. apt install git

enter image description here

1
répondu user 2018-07-22 09:55:21
0
répondu tianon 2010-08-28 06:52:02