Информация по направлению DevOps и Linux

GIT Linux:

Чтобы создать репозиторий Git в Linux, откройте терминал, перейдите в нужную папку командой cd и выполните git init. Эта команда создаст скрытую папку .git в текущем каталоге, что превратит его в локальный репозиторий, готовый отслеживать изменения.

Чтобы добавить директорию в Git, перейдите в терминале в корневой каталог репозитория и используйте команду git add <имя_директории>. После этого зафиксируйте изменения с помощью git commit -m "Сообщение коммита" и отправьте их на удаленный сервер, если необходимо, командой git push

Как использовать
Создайте файл:
В корневой папке вашего проекта создайте файл с названием .gitignore
(например, с помощью команды touch .gitignore в терминале).

Добавьте шаблоны:
Откройте этот файл и добавьте строки с шаблонами файлов и папок, которые вы хотите игнорировать.
Сохраните и закоммитьте:
Добавьте и закоммитьте файл .gitignore, чтобы он стал частью репозитория:

git add .gitignore
git commit -m "Add .gitignore"

Переключение на работу через ключи SSH:
git remote set-url origin git@github.com:<имя пользователя>/<название репозитория>.git

Предоставление доступа пользователю:
ssh -T git@github.com

Создание нового репозитореия из локальных файлов и пуш во внешний репозиторий:

# Переходим в папку проекта
cd "/home/user/project"

# Проверяем текущий remote
git remote -v

# Если есть старые привязки, удаляем их
git remote remove origin

# Добавляем новый origin для ignore01
git remote add origin git@github.com:<имя пользователя>/<имя репозитория>.git

# Проверяем
git remote -v

# Проверяем статус
git status

# Добавляем все изменения
git add .

# Коммитим
git commit -m "Add project files with .gitignore"

# Создаем ветку main если её нет
git checkout -b main

# Отправляем ветку main
git push -u origin main

# Если локальная ветка называется master:
git push -u origin master

# Или переименуем ветку в main:
git branch -M main
git push -u origin main

# Проверяем отправку
git log --oneline -5

# Проверяем подключение
ssh -T git@github.com