Git

Материал из support.qbpro.ru

GIT

* Команды git:

Создание нового репозитария:

touch README.md
git init
git add .
git commit -m "first commit"
git remote add origin http://gitserver.org/dev_user/testrep.git
git push -u origin dev_user


git reset --hard commitId #УДАЛЯЕТ ИСТОРИЮ GIT

GOGS

ОПИСАНИЕ:


Gogs — продукт китайских разработчиков. На первый взгляд он почти ничем не отличается от GitHub или BitBucket — это даже по дизайну заметно. Но при всех внешних сходствах у него есть одно выгодное отличие от существующих аналогов: легковесность.

Gogs написан на Go (собственно, это название представляет собой сокращение от Go Git Service). Из этого факта вытекают серьёзные преимущества: низкие требования к системным ресурсам, минимум зависимостей, простота установки и настройки.

В числе важнейших характеристик Gogs также следует назвать:

  • поддержку протоколов HTTP(s) и SSH;
  • поддержку SMTP и LDAP;
  • возможность создания как приватных, так и публичных репозиториев;
  • интеграцию с социальными сетями (пока что поддерживаются GitHub, Google+, а также китайские сервисы QQ и Weibo);
  • возможность работы в связке с сервисами непрерывной интеграции и DevOps-сервисами

УСТАНОВКА и НАСТРОЙКА:


  • Представлено в виде скрипта для Debian:
#!/bin/bash
## https://linode.com/docs/development/version-control/install-gogs-on-debian/
gogs_path="/home/git/gogs";
git_path="/home/git";
## подготовка
sudo apt update && sudo apt upgrade
sudo apt-get install -y git golang golang-1.8 golang-1.8-doc golang-1.8-go golang-1.8-src golang-any golang-doc golang-src
sudo adduser --disabled-login --gecos 'Gogs' git
mkdir -p $gogs_path
chown -R git:git $gogs_path
cd $git_path;
sudo su - git
# сборка
go get -u github.com/gogits/gogs;
cd $git_path/go/src/github.com/gogits/gogs;
go build
cd
ln -s go/src/github.com/gogits/gogs/ gogs
exit;
# установка на debian
cp -f $gogs_path/src/github.com/gogits/gogs/scripts/init/debian/gogs /etc/init.d/gogs
update-rc.d gogs defaults
chmod 0755 /etc/init.d/gogs
cp -f $gogs_path/src/github.com/gogits/gogs/scripts/systemd/gogs.service /lib/systemd/system/gogs.service
systemctl enable gogs.service
# правим конфиг под базу данных postgresql если надо или через localhost:3000
#editor go/src/github.com/gogits/gogs/conf/app.ini
# и копируем его в go/src/github.com/gogits/gogs/custom/conf/app.ini
systemctl start gogs.service
##
## перенаправляем порт 3000 на 80
## section NAT
iptables -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000
## сохряняем для восстановления при перезагрузке
iptables-save > rule
##
  • дальше необходимо создать базу данных (у меня используется Postgresql), краткий пример:
#sudo apt-get install -y postgresql postgresql-client libpq-dev
#sudo -u postgres psql -d template1
#CREATE USER gogs CREATEDB;
#\password gogs
#
#CREATE DATABASE gogs OWNER gogs;
#\q
#
#

Все подробности по Postgresql смотрим тут



ИСТОЧНИКИ: