Как инициировать репозиторий в подкаталоге?

Как инициализировать репозиторий в папке project так, чтобы управление гитом велось из этой же папки, но при этом исключить определенную подпапку (/www/sitefolder/) из отслеживания без необходимости добавления в .gitignore других папок с таким же названием глубже по структуре?
  • 17 января 2024 г. 11:18
Ответы на вопрос 2
Чтобы инициализировать репозиторий в папке `project`, вам нужно переместиться в эту папку и выполнить команду `git init`. Ниже приведены шаги для инициализации репозитория и исключения конкретной папки `/www/sitefolder/` из отслеживания Git.

1. Перейдите в папку `project`.

```bash
cd path/to/your/project
```

2. Инициализируйте Git репозиторий.

```bash
git init
```

Теперь, чтобы исключить конкретную папку `/www/sitefolder/` из отслеживания Git, вам необходимо создать файл `.gitignore` в корне репозитория и добавить в него строку с путем до папки, которую вы хотите исключить. Но возникает проблема, если вы хотите исключить только конкретную папку `/www/sitefolder/`, но не трогать другие папки с таким же названием.

Чтобы решить эту проблему, используйте слэши для точного указания пути. В вашем случае, чтобы исключить только папку `project/www/sitefolder`, а не все `sitefolder` в любом месте репозитория, в файл `.gitignore` добавьте следующую строку:

```
/www/sitefolder/
```

Обратите внимание на начальный слэш, который означает, что путь начинается от корня текущего репозитория (в данном случае папки `project`), и на конечный слэш, который указывает, что `sitefolder` является директорией.

Следующие шаги покажут как это сделать:

3. Создайте файл `.gitignore` в корне `project`.

```bash
touch .gitignore
```

4. Откройте `.gitignore` в текстовом редакторе и добавьте строку, которая будет исключать папку `/www/sitefolder/`.

```
/www/sitefolder/
```

5. Сохраните и закройте файл `.gitignore`.

6. Добавьте изменения в репозиторий и сделайте коммит.

```bash
git add .gitignore
git commit -m "Add .gitignore to exclude www/sitefolder"
```

После этих шагов файлы в папке `project/www/sitefolder` будут проигнорированы Git'ом. Важно помнить, что если вы уже добавили файлы из `sitefolder` в отслеживаемые до их исключения в `.gitignore`, Git продолжит их отслеживать. В таком случае, вам нужно будет удалить их из отслеживания с помощью команды `git rm --cached`.

```bash
git rm --cached -r /www/sitefolder/
```

После этого не забудьте сделать еще один коммит, чтобы зафиксировать изменения.
в самом /www/sitefolder создать .gitignore в котором будет * (только астериск) 
Тогда никакие файлы из этой и ниже лежащих не будут отслеживаться, но гитом можно будет пользоваться
Похожие вопросы