Рубрики
git

git свой сервер \ простой пример

ссылки:

https://git-scm.com/book/ru/v2/Git-%D0%BD%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5-%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-Git-%D0%BD%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80
https://git-scm.com/book/ru/v2/Git-%D0%BD%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5-%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80
https://habr.com/ru/company/ruvds/blog/359216/

Сервер на примере debian и чистый репозиторий

0. Устанавливаем
apt-get install git-core git

1. Создаем пользователя git
adduser git

2. Подключаемся под пользователем git 
ssh git@localhost

3. Создаем каталог для репозиториев
!!! Внимание имякаталога.git в конце .git в имени каталога для репозитория обязательна !!!
mkdir my_projects.git

4. Входим в каталог my_project.git и инициируем репозиторий
cd my_project.git
git init --bare
  
5. Если увидели надпись "Инициализирован пустой репозиторий Git в /home/git/my_projects.git/"  на этом с серверной частью все.
!!! запомнили путь до репозитория правая часть в примере "/home/git/my_projects.git/" пригодится

Клиентская часть для windows

0. Скачиваем git и устанавливаем
Ссылка:  https://gitforwindows.org/ 
1. У нас должна появится программа gitbash запускам ее
gitbash

2. Первым дело создаем каталог для локального репозитория
mkdir my_projects

3. Входим в него и производим первичную настройку
cd my_projects
git init
git config --global user.name "Vasya Pupkin"
git config --global user.email "ваш@почтовый.ящик"

4. Создаем какой ни будь файл для проверки в каталоге my_projects
копированием \ Set-Content ".\test.txt" -Value "вот такой я шляпой занимаюсь" \ echo "xxxx" > file.txt \ как угодно! 

5. Выполняем 
git add .
git commit -m 

6. Генерируем пару ключей закрытый\открытый. (в gitbash)
ssh-keygen.exe

7. Копируем его на сервер (gitbash) (потребуется ввести пароль пользователя git)
!!! Обратите внимание что нужно указать правильное имя и правильный  ip или DNS-имя
ssh-copy-id git@192.168.1.15

8. Настраиваем само подключение к серверу git
git remote add origin git@192.168.1.15:/srv/git/my_project.git

9. Ну собственно проверяем залив наши файлы на репозиторий 
git push origin master

Клиентская часть для linux \ debian

0. Устанавливаем git
apt install git

1. Первым дело создаем каталог для локального репозитория
mkdir my_projects

2. Входим в него и производим первичную настройку
cd my_projects
git init
git config --global user.name "Vasya Pupkin"
git config --global user.email "ваш@почтовый.ящик"

3. Создаем какой ни будь файл для проверки в каталоге my_projects
echo "xxxx" > file.txt  

4. Выполняем 
git add .
git commit -m 

5. Генерируем пару ключей закрытый\открытый. (в gitbash)
ssh-keygen.exe

6. Копируем его на сервер (gitbash) (потребуется ввести пароль пользователя git)
!!! Обратите внимание что нужно указать правильное имя и правильный  ip или DNS-имя
ssh-copy-id git@192.168.1.15

7. Настраиваем само подключение к серверу git
git remote add origin git@192.168.1.15:/srv/git/my_project.git

8. Ну собственно проверяем залив наши файлы на репозиторий 
git push origin master

Разовое клонирование репозитория(в примере тот же пк другой пользователь)

git clone git@localhost:/home/git/my_projects.git/

Репозиторий будет доступен для чтения, что бы получить возможность "git push origin master": 
git config --global user.name "Vasya Pupkin" 
git config --global user.email "ваш@почтовый.ящик"
git remote add origin git@192.168.1.15:/srv/git/my_project.git

Пример работы удаленных пользователей git:


0. Что бы не плодить пользователей в системе, 
   на сервере можно добавить публичные ключи других пользователей, 
   пользователю git в файл .ssh/authorized_keys
   
1. Основные команды:
Клонируем репозиторий:
git clone git@server:/srv/git/automation.git
Добавляем описание нашего пользователя:
git config --global user.name "Vasya Pupkin"
git config --global user.email "ваш@почтовый.ящик"

!!! Внимание ветка мастера
Загрузить на сервер git
git push origin master
Скачать с сервера git 
git pull origin master

Повседневные команды:
git add.
git commit -m "YOU COMMIT"
git log
checkout