Как установить другое сообщение коммита для каталогов и файлов - PullRequest
0 голосов
/ 10 ноября 2018

Я не могу понять, как сделать коммит в GitHub, где каталоги и файлы данных получают разные описания.Возможны ли такого рода коммиты?Например:

root_directory/sub_directory/file_1
root_directory/sub_directory/file_2
cd root_directory

При коммитах подобным образом ...

git commit -m "file_1 description" sub_directory/file_1
git commit -m "file_2 description" sub_directory/file_2

... подкаталог и файлы данных получают одно и то же сообщение, а сообщение подкаталога равно последнему коммиту:

1) file_1 gets description: "file_1 description"
2) file_2 gets description: "file_2 description"
3) sub_directory gets description: "file_2 description"

Или мне нужно сделать 'git init' в каждом подкаталоге, а затем сделать коммит отдельно в этих подкаталогах?

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

Эти «описания», о которых вы говорите, связаны с коммитами , а не с отдельными файлами или каталогами. (По этой причине они называются «зафиксировать сообщения».)

Насколько я знаю, git не содержит функциональных возможностей, позволяющих связать описание с файлом или каталогом, но это не совсем то, для чего он предназначен. git создан, чтобы помочь вам организовать изменения в файлах, а не так, чтобы вы сами организовали файлы. Это часть того, почему вы можете дать коммиту (набор изменений) описание, но вы не можете дать описание отдельному файлу.

Кстати:

Или я должен сделать 'git init' в каждом подкаталоге, а затем делать коммиты отдельно в этих подкаталогах?

Я бы не рекомендовал это. Наличие вложенных репозиториев git, как если бы вы запускали git init в каждом подкаталоге, может стать довольно сложным и доставить больше хлопот, чем стоит, если вы не используете его по очень конкретной причине (что не применимо в вашем случае) .

0 голосов
/ 10 ноября 2018

Когда вы фиксируете git, применяйте сообщение коммита ко всем файлам в индексе.

Если вы хотите дать разные коммиты для каждого файла (ов), просто добавьте их один за другим и подтвердите.

# Add file 1
git add sub_directory/file_1   

# now your file 1 will get the desired message
git commit -m "file_1 description"

...
# Add file 2
git add sub_directory/file_2 && git commit -m "file_2 description"

В шортах: как работает git commit

Когда вы выполните git commit git, сделайте снимок всех ваших файлов в индексе.
Это файлы из предыдущего коммита вместе с новыми / модифицированными.

git commit -m... просто сделайте снимок и сгенерируйте для него метаданные со следующей информацией enter image description here

Содержание этого коммита следующее: enter image description here

И все эти файлы получают одно и то же сообщение о коммите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...