Как передать сообщение только GIT?
Предположим, что я работал над филиалом и выполнял свою работу, но хочу
добавьте сообщение в журналы того, что будет дальше в списке задач для ветки. раз
Возможно, я захочу сделать это:
- Переключение ветвей на работу над чем-то еще - нужно напомнить себе, что делать дальше
- Выходные
- Другое
Можно ли зафиксировать git без каких-либо файлов? Любой способ сказать это: возможно ли передать сообщение только GIT?
Ответы
Ответ 1
Да. Возможно. Я никогда не запомню, как это сделать и всегда нужно Google (так что я пишу Q/A в надежде, что это поможет мне запомнить).
Команда:
git commit --allow-empty
Документ для --allow-empty
читает:
Обычно запись фиксации, которая имеет то же самое дерево, что и его единственная parent commit является ошибкой, и команда запрещает вам делать такой фиксации. Этот вариант обходит безопасность, и в первую очередь использование внешних скриптов интерфейса SCM.
Док имеет смысл, но его нелегко искать.
Ответ 2
Вместо этого вы можете также использовать аннотированный тег. Затем вы можете удалить тег позже, не переписывая историю. Для меня это имеет больше смысла, чем добавление пустых записей в вашу историю.
git tag -a TODO-feature-foo -m "next I'm going to..."
git push origin :TODO-feature-foo
Как только это не понадобится:
git push origin :TODO-feature-foo
Ответ 3
Примечание: если вы поэтапно изменили, но хотите создать пустую фиксацию только с сообщением, вам нужно (с Git 2.12, Q1 2017):
git commit --only --allow-empty -m "my message"
См. commit beb635c (09 декабря 2016 г.) и commit 319d835 (02 декабря 2016 г.) Андреас Крей (apk
).
(слияние Junio C Hamano - gitster
- в совершить 3aead1c, 19 декабря 2016 года)
commit: make --only --allow-empty работа без путей
--only
подразумевается при наличии путей и требуется их, если --amend.
Но с --allow-empty
он также должен быть разрешен - это единственный способ создать пустую фиксацию в присутствии поэтапных изменений.