2020-11-14

Коммитим в Git из Android

Задался вопросом - можно ли развернуть Git репозиторий на телефоне, редактировать файлы и коммитить изменения в проект? Оказалось, что можно, и оно отлично работает!

Установил Termux, Termux:Api, Termux:Widget. Важно чтобы все три приложения были установлены из одного магазина приложений - они есть в F-Droid и Android Play Market но последнее в Android Play стоит два доллара а в F-Droid - бесплатное.

Запускаем Termux и ставим необходимые пакеты, и разрешаем приложению доступ к файловой системой:


pkg install git openssh termux-api
termux-setup-storage

Cоздаем папку для проекта и инициализируем репозиторий:


mkdir /storage/emulated/0/Documents/work
cd /storage/emulated/0/Documents/work
git init
git remote add origin git@github.com:username/reponame.git
git config --global user.email "your@email.com"
git config --global user.name "Max"
nano readme.md
git add readme.md
git commit -am"first commit"
#cоздаем пару ключей для git репозитория:
ssh-keygen
cat /data/data/com.termux/files/home/.ssh/id_rsa.pub
#полученную строку копируем и вставляем в профайл гитхаба или другой системы которой вы пользуетесь.

Cоздаем папочку со скриптами:


mkdir -p $HOME/.shortcuts
mkdir -p /data/data/com.termux/files/home/.shortcuts/tasks
cd /data/data/com.termux/files/home/.shortcuts/
nano ./push.sh 
chmod +x push.sh

push.sh выглядит так:


#!/data/data/com.termux/files/usr/bin/bash
cd /storage/emulated/0/Documents/work
git add *
git commit -am"autocommit"
git push origin master
termux-toast "Changes successfully pushed" 

Аналогично создаем pull.sh:


#!/data/data/com.termux/files/usr/bin/bash
cd /storage/emulated/0/Documents/work
git pull origin master
termux-toast "Changes successfully pulled"

Осталось лишь добавить виджет на экран и вы можете делать pull и push с вашего телефона кликая на виджет!

Вуаля, теперь можно, например, редактировать заметки и сразу коммитить их в репозиторий, чтобы не потерять историю изменений!

 

комментарии:

 

Для того чтобы каждый раз не представляться можно войти как зарегистрированный пользователь.

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться