Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | git_i_tolko_ssh [2025/03/06 11:54] (текущий) – darkfire | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Git и SSH — простое решение для локальной и совместной разработки ====== | ||
+ | ~~Title: Git с SSH — локальные репозитории для себя, удаленные для команды ~~ | ||
+ | {{htmlmetatags> | ||
+ | metatag-description=(Подробное руководство по настройке Git-сервера с использованием только SSH: создание голого репозитория, | ||
+ | }} | ||
+ | |||
+ | Чтобы работать с [[Git|Git]] сервером необязательно использовать Gitosis или Gitolite. Для работы Git по протоколу [[SSH|SSH]] достаточно установленного демона SSH. В этом случае неудобство проявляется в том, что для каждого нового пользователя GIT сервера нужно заводить системного пользователя ОС и права на чтение/ | ||
+ | |||
+ | <panel type=" | ||
+ | ===== Пример установки связки Git и SSH ===== | ||
+ | |||
+ | Все репозитории будут храниться в директории / | ||
+ | * Установим сам git | ||
+ | <file bash> | ||
+ | apt install git | ||
+ | </ | ||
+ | * Создадим на сервере пользователя git с домашней директорией / | ||
+ | # useradd git -d / | ||
+ | </ | ||
+ | $ mkdir / | ||
+ | $ cd / | ||
+ | $ git --bare init | ||
+ | Initialized empty Git repository in / | ||
+ | </ | ||
+ | * На клиенте< | ||
+ | git clone git@your.server.git:/ | ||
+ | $ touch README | ||
+ | $ git add . | ||
+ | git commit -am "First initial commit." | ||
+ | git push origin master | ||
+ | </ | ||
+ | * **Всё!!!** Может понадобиться задать права (444) на файлы и директории(775) в репозиториях< | ||
+ | chown -R git:git / | ||
+ | find / | ||
+ | find / | ||
+ | </ | ||
+ | * Дополнительно на сервере. В качестве дополнительной меры предосторожности можно ограничить возможности пользователя git только действиями связанными с Git с помощью ограниченной оболочки git-shell поставляемой вместе с Git. Для этого нужно заменить интерпретатор команд пользователя на git-shell.< | ||
+ | $ which git-shell | ||
+ | / | ||
+ | # nano /etc/passwd | ||
+ | git: | ||
+ | </ | ||
+ | # cp -R / | ||
+ | # chmod +x git-shell-commands/ | ||
+ | # chmod +x git-shell-commands/ | ||
+ | </ | ||
+ | |||
+ | ===== Использование GIT в локальном репозитории ===== | ||
+ | |||
+ | [[git|GIT]] и локальный репозиторий использование без загрузки на git сервер. Иногда при правке файлов мне нужно сохранить просто истории изменений и откатиться в случае ошибки. Загружать на удаленый сервер изменения мне не нужно. | ||
+ | |||
+ | Создадим локальный репозиторий в папке с проектом. Эта команда создает новый локальный Git-репозиторий в текущем каталоге проекта. Теперь Git готов отслеживать изменения в вашем коде. | ||
+ | <file bash> | ||
+ | git init | ||
+ | </ | ||
+ | Для того, чтобы добавить все файлы из текущей директории и всех поддиректорий введите:< | ||
+ | git add -A | ||
+ | или так | ||
+ | git add . | ||
+ | </ | ||
+ | Или добавить 1 файл с именем filename. Эта команда добавляет конкретный файл к индексу (staging area), подготавливая его к комиту. | ||
+ | <file bash> | ||
+ | git add filename | ||
+ | </ | ||
+ | Для просмотра текущего состояния можно воспользоваться командой:< | ||
+ | git status | ||
+ | </ | ||
+ | После добавления файлов проекта, | ||
+ | <file bash> | ||
+ | git commit -am " | ||
+ | </ | ||
+ | Просмотреть коммиты можно при помощи команды:< | ||
+ | git log | ||
+ | </ | ||
+ | |||
+ | Простого всем редактирования файлов!!! Дополнительно [[git# | ||
+ | |||
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга