• Stars
    star
    953
  • Rank 47,596 (Top 1.0 %)
  • Language
    Java
  • License
    GNU General Publi...
  • Created almost 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Git client for Android.

MGit

MGit is a Git client Android App.

This is a continuation of the SGit project.

Get it on Google Play Get it on F-Droid

Notes

Build Status

Join the chat at https://gitter.im/MGit-Android/Lobby

Translate - with Stringlate

  • If you encounter any issues (bugs, crashes, etc.) and want to help improve this project, please open an issue on GitHub describing: what the issues are; and how they were caused, to allow for re-creation and fixing of bugs.
  • This app requires minimum of for Android v5.0

Editing Files

As of version 1.5.7, MGit no longer provides an internal texteditor, instead if you wish to edit files, you will need to have an editor app installed.

An open source editor that has been tested to work with MGit is "Turbo Editor"

but others that support File Providers should also work.

Supported Features

  • Create local repositories
  • Clone remote repositories
  • Pull from origin
  • Delete local repositories
  • Browse files
  • Browse commit messages (short)
  • Checkout branches and tags
  • HTTP/HTTPS/SSH are supported (including SSH with private key passphrase)
  • Username/Password authentication is supported
  • Search local repositories
  • Private key management
  • Manually choose code language
  • git diff between commits
  • Import existing repositories (that is, you can copy a repository from computer and import to MGit)
  • Checkout remote branches
  • Merge branches
  • Push merged content
  • Edit file via external app that can edit the given file type
  • Commit and push changed files
  • Committer information
  • Prompt for password
  • Option to save username/password
  • git status
  • Cancel when cloning
  • Add modified file to stage
  • View state of staged files (aka index)
  • git rebase
  • git cherrypick
  • git checkout <file> (reset changes of a file)

Quick start

Clone a remote repository

  1. Click on the + icon to add a new repository
  2. Enter remote URL (see URL format below)
  3. Enter local repository name - note that this is not the full path, as MGit stores all
    repositories in the same local directory (can be changed in MGit settings)
  4. Click the Clone button
  5. If required, you will be prompted for credentials to connect to the remote repo. MGit will download the repository (all branches) to your device

Create a local repository

  1. Click on the + icon to add a new repository
  2. Click on Init Local to create a local repository
  3. Enter the name for this repository when prompted
  4. A local empty repo will be created

URL format

SSH URLs

  • SSH running on standard port (22): ssh://username@server_name/path/to/repo
  • SSH running on non-standard port: ssh://username@server_name:port/path/to/repo
  • username is needed - by default, MGit tries to connect as root.

HTTP(S) URLs

  • HTTP(S) URL: https://server_name/path/to/repo

ToDo List

Future enhancements and bugs are tracked here on Github.

License

See GPLv3

All code written by [email protected] can at your option also be used under the MIT license.

Help

If you want to help improve this project, contributions, especially translations are very welcome. Also contributions to documentation via the wiki for this repo are also most welcome!

Contributing code

If you would like to contribute code, either a bugfix or a new feature, please make sure there is a open issue that addresses the new code. No Pull Requests will be merged that do not reference an existing issue in the repo.

Please use the Android Studio formatting settings set for this project in the repo.

All strings visible to the user need to go into strings resource file.

Project Goals

  • Provide the best GUI git client available on any platform
  • Be usable on both phone, tablet and laptop form-factor devices

Non-goals for the project

  • Support for proprietary vendor APIs (eg. Github)

Major Contributions

For new features, a discussion of the new functionality may need to take place in the comments on the issue covering it, so it may be best for that to occur before you spend time on writing the new code.

The app is about to have a major restructure. All new functionality in the app will be written in Kotlin/Rx per #277. Please be aware that the project is now using Data Binding Library and all future functionality should make use of it.

Submitting a Pull Request (PR)

Fork from this repo, create a new branch, commit your changes and then send a pull request against the master branch of this repo.

If you are working on a branch for some time, you may find that changes to master get merged in the meantime, if that happens please do NOT merge master into your branch! Instead rebase your branch onto the current head of master.

More Repositories

1

viper-edit

Simple, powerful text and code editor for Android.
Java
33
star
2

Sketch-Notes

a sketching notepad android app
Java
27
star
3

dart_repl

Dart
26
star
4

droid-synth

a revival of the music-synthesizer-for-android project
Jupyter Notebook
22
star
5

elfer

A pattern editor, in the "style" of a Tracker, for the Korg Electribe 2's (synth, sampler, hacktribe).
Dart
20
star
6

fluttter_isolates

Dart
17
star
7

aosp-signapk

Apk/Zip signing tool pulled out of the AOSP
Java
15
star
8

git-crx

Chrome Packaged App for Browsing local Git Repos
JavaScript
15
star
9

UartBridge

Android App bridging USB Uart to Network Port
Java
14
star
10

dsg

Dart Static Site Generator
HTML
13
star
11

dolumns

A library for formatting text output into columns.
Dart
13
star
12

dart_synth

Dart
11
star
13

as-audio

TypeScript
9
star
14

flutter_zig

Demo of using Zig with Dart FFI
CMake
8
star
15

TransProxy3

transparent proxy from XDA Forums
Java
8
star
16

node-matrix-jsapi

Squiz Matrix JSAPI ported to Nodejs
JavaScript
7
star
17

isolate_tests

Dart
6
star
18

jasonette-schema

JSON Schema for Jasonette
5
star
19

tribbles

Dart
5
star
20

rhinobot

Project Grimlock - Rhino JS Engine for Android Apps
Java
5
star
21

flutterette

Dart
4
star
22

ml_2

Dart
4
star
23

SketchNotes2

SketchNotes rewrite in Flutter
Objective-C
4
star
24

chrome-app-npm

NPM as a chrome packaged app
JavaScript
4
star
25

dart_sunvox

Dart
4
star
26

dart-git

Pure Dart implementation of Git
Dart
3
star
27

dart_fire_midi

Dart
3
star
28

bonsai_dart

Tiny Dart logging package
Dart
3
star
29

simple-log-server

a simple log server built with Nodejs
JavaScript
3
star
30

ooksi

Fork of the Minijoe JS Interpreter with HTML5 API added
Java
3
star
31

dart_alsa

Dart
3
star
32

dart_midi

Dart
2
star
33

node-github-deployhook

A simple continuous deploy server for github projects
JavaScript
2
star
34

libjsgit

2
star
35

config

my various config files
Vim Script
2
star
36

dart_libgit2

Dart
2
star
37

ngv-whatson-signage

Example of using NGV Whats On data feeds for digital signage
JavaScript
2
star
38

jedis-client

A Jedis package for RIngoJS
JavaScript
2
star
39

testfire

Dart
1
star
40

testsite

just a test website
1
star
41

whatson-enhancements

1
star
42

kinesis-java-cli

just amazons example code for Kinesis access using Java SDK in convienent single class
Java
1
star
43

redisstore

Redisstore is a Javascript client for the Redis key-value database.
JavaScript
1
star
44

ble_sandbox

Dart
1
star
45

dainty_audio

C
1
star
46

flutter-space

demo for flutter issues
Dart
1
star
47

libmsfa

C
1
star
48

ml-1

TypeScript
1
star
49

string_res

Dart Builder for creating String constants from JSON files
Dart
1
star
50

mknotes

C++
1
star
51

ErrorBox

A small Android app for testing error handling
Java
1
star
52

synth83

C
1
star
53

sunvox_lib

mirror of the release from https://warmplace.ru/soft/sunvox/sunvox_lib.php
C
1
star
54

pixidj

1
star
55

flutter_so_sandbox

C++
1
star
56

pixilib

Shell
1
star
57

ngv-video-player

An HTML5 javascript video player
JavaScript
1
star
58

strudel

Dart
1
star
59

nodebox

A Nodejs based OS API server
JavaScript
1
star
60

cmte

cmte is a browser-based text editor
JavaScript
1
star
61

wifi-nfc-config-app

Android App to configure Wifi via NFC
Java
1
star
62

system-tools-app

A small Android app to demonstrate making an app with system priviliedges
Java
1
star
63

gallery2-aosp

The apk of the Gallery2 app from AOSP
1
star
64

clickapair

pair match gaming, entry into flutter create contest
Dart
1
star
65

pressure-altimeter

Automatically exported from code.google.com/p/pressure-altimeter
Java
1
star
66

lpc4357_mem_test

Basic mem test for EA LPC4357 dev board
C
1
star
67

flutter-engine-dev

config for a Docker container to do Flutter Engine development that works with VSCode Remote-Containers
Dockerfile
1
star
68

mydvds

The Nodejs based implementation of the mydvds.com.au website
JavaScript
1
star
69

internode-crx

Internode usage meter as a chrome extension
1
star
70

jgit-tester

just for experimenting with using jgit library
Java
1
star
71

angel-sensor-crx

Chrome App for the Angel Sensor device
HTML
1
star
72

fennec-labnotes

a lab notebook for customising fennec (aka firefox for android)
1
star
73

monochrome_draw

Drawing on a monochromatic bitmap canvas
Dart
1
star
74

ff-html5notifications

fork of svn repo from googlecode: http://code.google.com/p/ff-html5notifications/source/checkout
1
star
75

.textadept

Lua
1
star
76

loader-demo

A Quick Guide to Chrome Apps using Creationix Module Loader
JavaScript
1
star
77

sandbox

a testing area on github
HTML
1
star
78

picotracker_client

C++
1
star
79

music_home

Dart
1
star