Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
subjects:programming:git [2023/02/03 21:06] ¶ [Инициализация] |
subjects:programming:git [2023/05/01 19:29] ¶ Объединение коммитов |
||
---|---|---|---|
Строка 84: | Строка 84: | ||
* ''git add .'' -- Добавляет файлы ''M'', ''D'', ''?''. | * ''git add .'' -- Добавляет файлы ''M'', ''D'', ''?''. | ||
- | * ''-all'', ''-A'' -- Эти варианты эквивалентны и добавляют ''M'', ''D'', ''?''. Без точки — из всей рабочей области. С точкой — только текущий путь: ''git add -A .'' = ''git add .'' + ''git add -u .'' | + | * ''-all'', ''-A'' -- Эти варианты эквивалентны и добавляют ''M'', ''D'', ''?''. Без точки — из всей рабочей области. С точкой — только текущий путь: ''git add -A .'' = ''git add .'' + ''git add -u .'' \\ <code bash>git add .</code> |
* ''-update'', ''-u'' -- Git обновляет (update) статус уже отслеживаемых файлов т.е. M, D. | * ''-update'', ''-u'' -- Git обновляет (update) статус уже отслеживаемых файлов т.е. M, D. | ||
* ''git add *'' -- Этот синтаксис лучше не использовать, т.к. он пытается добавить ''M'', ''?'', ''!'', причём последнее приводит к ошибке. | * ''git add *'' -- Этот синтаксис лучше не использовать, т.к. он пытается добавить ''M'', ''?'', ''!'', причём последнее приводит к ошибке. | ||
Строка 96: | Строка 96: | ||
* ''git commit'' -- Если индекс не пустой, то на его основе будет совершен коммит, после чего пользователя попросят прокомментировать вносимые изменения. | * ''git commit'' -- Если индекс не пустой, то на его основе будет совершен коммит, после чего пользователя попросят прокомментировать вносимые изменения. | ||
* ''-a'' -- Совершит коммит, автоматически индексируя изменения в файлах проекта. **Новые** файлы при этом индексироваться **не будут**! Удаление же файлов будет учтено. | * ''-a'' -- Совершит коммит, автоматически индексируя изменения в файлах проекта. **Новые** файлы при этом индексироваться **не будут**! Удаление же файлов будет учтено. | ||
- | * ''-m "text"'' -- Комментируем коммит прямо из командной строки вместо текстового редактора. | + | * ''-m "text"'' -- Комментируем коммит прямо из командной строки вместо текстового редактора. \\ <code bash>git commit -m "Название коммита"</code> |
+ | * Чтобы изменить имя последнего коммита, достаточно ввести: \\ <code bash>git commit --amend -m "Новое название коммита"</code>. Для изменения имени других коммитов, нужно сделать: \\ <code bash>git commit --amend -c <commit ID></code> | ||
+ | |||
+ | ==== Переименование файла ==== | ||
+ | Переименовывать или перемещать файлы и папки нужно из ''git''. Подробнее см. справку. | ||
+ | <code bash> | ||
+ | $ git mv old_filename new_filename | ||
+ | </code> | ||
+ | |||
+ | ==== Объединение коммитов ==== | ||
+ | * Объединение последних **2** (//можно использовать любое разумное целое число//) коммитов в один: \\ | ||
+ | <code bash> | ||
+ | $ git rebase -i HEAD~2 | ||
+ | </code> | ||
+ | * **Откроется** текстовый редактор, в котором первые две строки соответствуют последним двум коммитам. | ||
+ | * В начале каждой строки стоит слово ''pick''. Вам **необходимо** изменить слово ''pick'' на букву ''s'' у второй строки. Это означает, что данный коммит будет объединен с предыдущим коммитом -- это написано в комментариях. | ||
+ | * **Сохраните** изменения и закройте редактор. | ||
+ | * Снова **откроется** редактор, в котором вам предлагается ввести сообщение к коммиту, который и является объединением. Отредактируйте сообщение к коммиту, **сохраните** изменения, и закройте редактор. | ||
==== Разное ==== | ==== Разное ==== |