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

Я недавно решил разобраться с 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 ? <br/> Ты его запустил от рута и у тебя теперь просто прав нет на репозиторий. <br/> Выведи содержимое папки со скрытыми файлами увидишь есть там репо или нет. <br/> --- <br/> Нужно так создаем пустую папку. <br/> В ней делаем репозиторий гита. <br/> Он создаст пустой репозиторий, что-то типа такого: <br/> <br/> mkdir test <br/> cd test <br/> git init <br/> <br/> он там создаст служебную скрытую папку <br/> test/.git/ <br/> <br/> Ну а дальше пишешь файлы в папку test, коммитишь, и синхронизируешь с гитхабом. <br/> И вот тебе хелпа <br/> <br/> <a href="https://git-scm.com/book/ru/v2/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B-Git-%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-Git-%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D1%8F" rel="nofollow">https://git-scm.com/book/ru/v2/%D0%9E%D1%81%D0%BD%...</a> <br/> <br/> А дальше разберешься
Похожие вопросы