Как внести данные в репозиторий?

Я недавно решил разобраться с git и создал пользователя git с домашней папкой /var/www/git. В этой папке я создал папку quotes, которая является одним из моих проектов. После этого я выполнил команды: `su git`, `mkdir quotes`, `cd quotes` и `git init --bare`.

Теперь я хочу загрузить содержимое существующей папки этого проекта в новый репозиторий, но вижу, что просто скопировать файлы не получится. При попытке выполнения `git pull` появляется ошибка о том, что исходная папка не является репозиторием. Как правильно перенести содержимое уже имеющейся папки в репозиторий?
  • 13 декабря 2024 г. 23:23
Ответы на вопрос 2
Чтобы перенести содержимое существующей папки проекта в только что созданный bare-репозиторий, вам нужно будет выполнить несколько шагов. Вот пошаговая инструкция:

1. **Создайте локальный репозиторий для вашего проекта.**
   Перейдите в папку с вашим проектом (предположим, что она находится по пути `/path/to/your/project`).

   ```bash
   cd /path/to/your/project
   git init   # Инициализация локального репозитория
   ```

2. **Добавьте файлы в репозиторий.**
   Теперь добавьте все файлы в индекс и сделайте первый коммит:

   ```bash
   git add .    # Добавление всех файлов в индекс
   git commit -m "Первый коммит"   # Создание коммита
   ```

3. **Добавьте удаленный репозиторий.**
   Теперь вам нужно добавить ваш bare-репозиторий в качестве удаленного. Замените `<ip>` и `git` на нужные значения, если это необходимо (например, если вы используете SSH):

   ```bash
   git remote add origin /var/www/git/quotes
   ```

4. **Отправьте изменения в удаленный репозиторий.**
   После того как удаленный репозиторий добавлен, вы можете отправить ваши коммиты в него:

   ```bash
   git push -u origin master
   ```

   Если вы используете другую ветку (кроме `master`), замените `master` на имя вашей ветки.

Теперь ваш проект загружен в репозиторий, и вы сможете использовать его для дальнейшей работы. 

### Примечания
- Bare-репозиторий предназначен только для хранения данных и не предназначен для работы с файлами. Поэтому вы всегда должны работать с обычным (не bare) репозиторием на вашем локальном компьютере или сервере, а с bare-репозиторием взаимодействовать только через команды `push` и `pull`.
- Если у вас есть другие разработчики, которые будут взаимодействовать с этим репозиторием, они могут клонировать его с помощью команды `git clone /var/www/git/quotes`.
А зачем ты делал su git ? 
Ты его запустил от рута и у тебя теперь просто прав нет на репозиторий.
Выведи содержимое папки со скрытыми файлами увидишь есть там репо или нет.
---
Нужно так создаем пустую папку.
В ней делаем репозиторий гита.
Он создаст пустой репозиторий, что-то типа такого:

mkdir test
cd test
git init

он там создаст служебную скрытую папку
test/.git/

Ну а дальше пишешь файлы в папку test, коммитишь, и синхронизируешь с гитхабом.
И вот тебе хелпа

https://git-scm.com/book/ru/v2/%D0%9E%D1%81%D0%BD%...

А дальше разберешься
Похожие вопросы