MGit:免费Android Git客户端,5步克隆并推送你的第一个提交
【免费下载链接】MGitA Git client for Android.项目地址: https://gitcode.com/gh_mirrors/mg/MGit
在外面遇到一个小 bug 却只能等回工位才能修?MGit 是一款免费的 Android 开源 Git 客户端,克隆、提交、推送、切换分支这些 Git 操作,它在手机上都能完整做。
它到底解决什么问题
- 人不在电脑前,代码也得动。会议间隙、通勤路上,你无法掏出命令行去
git push,而手机上又缺一个能完整操作 Git 的图形界面工具。 - 看代码、看历史要坐回工位。想看某个提交改了什么、两个版本差在哪,多数手机工具只显示文件列表,没有差异对比(diff)。
- 私有仓库连不上。很多移动端工具只支持 HTTP 账号密码,不支持 SSH,而公司私有仓库往往要求走 SSH 密钥认证。
MGit 把这三件事都覆盖到了,而且完全免费。
快速上手
系统要求:Android 5.0 及以上,建议为仓库预留至少 100MB 存储空间(仓库大小取决于项目本身)。
- 从 Google Play、F-Droid 安装,或用 Android Studio 打开源码自行编译(应用包名为
com.manichord.mgit)。 - 首次启动时授予存储权限,然后在设置里填好姓名和邮箱——它会作为你所有提交的作者信息。
- 点主页的
+按钮,选择克隆远程仓库,输入仓库地址,例如:
git clone https://gitcode.com/gh_mirrors/mg/MGit- 输入仓库名并确认,MGit 会把所有分支下载到设备,需要认证时会提示你输入凭证。
- 克隆完成后进入仓库,点顶部分支名即可切换分支,点文件即可浏览内容。
所有仓库默认存放在同一个本地目录,可在设置里改路径。
功能全景
按"拉取 → 查看 → 修改 → 发布"这条工作流来看它的能力:
| 环节 | 能力 | 适用场景 |
|---|---|---|
| 获取仓库 | 克隆远程仓库、初始化本地仓库、从电脑拷贝后导入现有仓库 | 首次把项目搬上手机 |
| 查看 | 浏览文件、提交历史、git status 状态、提交间差异对比、按语言设置代码高亮 | 审阅代码、排查改动 |
| 修改 | 把文件加入暂存区、撤销单个文件的改动(checkout file)、用外部编辑器编辑文件 | 在手机上做小修复 |
| 发布 | 提交、推送、提交并推送一步完成 | 修完立刻同步给团队 |
| 分支 | 查看/切换/创建分支、检出远程分支、合并、rebase、cherrypick | 特性开发、回滚操作 |
| 认证 | HTTP(S)/SSH 均支持,SSH 可用带密码短语的私钥,私钥可在应用内生成和管理 | 接入公司私有仓库 |
它还支持长按提交记录选择 "Reset to this commit" 按 Soft / Mixed / Hard 三种模式回滚,这在移动端 Git 工具里不算常见。
高频实战场景
场景一:通勤路上修一个文案或配置错误
你遇到:产品说一句话术要改,人在地铁上。
操作:打开仓库 → 状态页找到对应文件 → 点文件用外部编辑器打开(MGit 1.5.7 起移除了内置编辑器,需装一个支持 File Providers 的编辑器)→ 改完保存 → 把文件加入暂存区 → Commit → Push。全程不超过一分钟。
场景二:审阅同事今天改了什么
你遇到:想知道某次发布的具体改动,不想回家开 IDE。
操作:打开提交历史列表 → 点任一提交查看该次差异 → 也可以选两次提交做区间 diff,MGit 内置差异查看器带语法高亮。
场景三:手机上开一个特性分支
你遇到:临时起意想加个小功能,不想污染主分支。
操作:点顶部分支名进入分支选择器 → 新建分支 → 在此分支上提交并推送 → 干完切回主分支。分支名即点即用,不需要记命令。
上手常踩的坑
坑 1:SSH 克隆一直失败
- 症状:用 SSH 地址克隆或推送时连接被拒。
- 解法:检查地址里是否带了用户名。MGit 默认以 root 身份连接,必须写成
ssh://用户名@服务器/仓库路径,非 22 端口再加:端口。格式不对的 SSH 地址是最高频的失败原因。
坑 2:点文件编辑没反应
- 症状:想用内置编辑器改文件,却发现没有。
- 解法:1.5.7 之后 MGit 不再内置文本编辑器。装一个支持 File Providers 的外部编辑器(开源的 Turbo Editor 官方验证过可用),再回来点文件即可调起它。
坑 3:大仓库下载慢、占空间
- 症状:克隆几小时的仓库卡半天,手机存储告急。
- 解法:先在电脑上看清仓库体积再决定搬上手机;或者直接把电脑上的仓库文件夹拷到手机,走"导入现有仓库",跳过网络下载。用完的仓库可以删除释放空间。
坑 4:每次推送都要输密码
- 症状:反复输入用户名密码很烦。
- 解法:认证提示时勾选保存凭证;SSH 场景则把私钥导入 MGit 的密钥管理(支持设置密码短语保护),之后无需再输。
从能用到好用
- 小步提交。手机上屏幕小,大块改动难审查,一次只改一个文件,提交信息写明改了什么。
- 敏感信息别入库。手机上误提交后推送出去更难收回,密钥、密码、令牌这类内容不要写进任何提交。
- 私钥加密码短语。SSH 私钥生成时设置保护密码,即使手机丢失也能兜底。
- 善用离线。无网络时浏览历史、看文件、本地提交都正常,网络恢复后一次性推送即可。
- 推送前先看状态页。确认暂存区和当前分支,避免推错分支。
周边与生态
- 项目源自经典的 SGit,是它的官方延续,采用 GPLv3 协议(见仓库根目录的 COPYING)。
- 主源码在
app/src/main/java/me/sheimi/sgit/,仓库列表、文件浏览、提交操作各自独立成包,方便按模块阅读。 - 界面字符串放在
app/src/main/res/values*下,已提供中、德、法、日、俄、西等语言版本,翻译贡献长期欢迎。 - 提 bug 或新想法请先在项目的 issue 区开单,说明现象和复现方式;贡献代码要求先引用一个已存在的 issue,PR 才会被合入。
- 新功能建议用 Kotlin 编写并使用 Data Binding 库,这是项目明确的技术方向。
一句话总结:MGit 把"看代码、改代码、推代码"完整搬进了你的口袋,还不需要花一分钱。现在就装上它,点+克隆第一个仓库,把下一处小修复从"等回工位"变成"马上推上去"。
【免费下载链接】MGitA Git client for Android.项目地址: https://gitcode.com/gh_mirrors/mg/MGit
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考