Это команда git-commit-tree, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
git-commit-tree - Создать новый объект фиксации
СИНТАКСИС
мерзавец дерево фиксации [(-п ) ...]
мерзавец дерево фиксации [(-п ) ...] [-S [ ]] [(-m ) ...]
[(-F ) ...]
ОПИСАНИЕ
Обычно это не то, что конечный пользователь хочет запускать напрямую. Видеть git-коммит(1) вместо этого.
Создает новый объект фиксации на основе предоставленного объекта дерева и испускает новую фиксацию
идентификатор объекта на стандартном выводе. Сообщение журнала читается со стандартного ввода, если -m или -F
даны варианты.
У объекта фиксации может быть любое количество родителей. Ровно с одним родителем это обычный
совершить. Наличие более чем одного родителя делает коммит слиянием нескольких строк
история. У исходных (корневых) коммитов нет родителей.
В то время как дерево представляет конкретное состояние каталога рабочего каталога, фиксация
представляет это состояние во «времени» и объясняет, как туда попасть.
Обычно фиксация определяет новое состояние «HEAD», и хотя Git не заботится, где вы
сохраните примечание об этом состоянии, на практике мы обычно просто записываем результат в файл
на который указывает .git / HEAD, чтобы мы всегда могли видеть последнее зафиксированное состояние
был.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Существующий объект дерева
-п
Каждый -p указывает идентификатор родительского объекта фиксации.
-м
Абзац в сообщении журнала фиксации. Это можно давать более одного раза, и каждый
становится отдельным абзацем.
-F
Прочтите сообщение журнала фиксации из данного файла. Используйте - для чтения из стандарта
вход.
-S [ ], --gpg-sign [= ]
GPG-подписывает коммиты. Аргумент keyid является необязательным и по умолчанию используется коммиттер.
личность; если указано, он должен быть прикреплен к опции без пробела.
--no-gpg-знак
Countermand commit.gpgSign конфигурационная переменная, которая настроена на принудительное использование каждого
обязательство быть подписанным.
COMMIT ИНФОРМАЦИЯ
Коммит инкапсулирует:
· Все идентификаторы родительских объектов
· Имя автора, адрес электронной почты и дата
· Имя коммиттера, адрес электронной почты и время фиксации.
Хотя идентификаторы родительских объектов указываются в командной строке, информация об авторе и коммиттере
берется из следующих переменных среды, если они установлены:
GIT_AUTHOR_NAME
GIT_AUTHOR_EMAIL
GIT_AUTHOR_DATE
GIT_COMMITTER_NAME
GIT_COMMITTER_EMAIL
GIT_COMMITTER_DATE
(nb "<", ">" и "\ n" удаляются)
В случае, если (некоторые из) эти переменные среды не установлены, информация берется из
элементы конфигурации user.name и user.email или, если нет, среду
переменная EMAIL, или, если она не задана, имя пользователя системы и имя хоста, используемые для
исходящая почта (взято из / etc / mailname и возвращаясь к полностью определенному имени хоста
когда этот файл не существует).
Комментарий коммита читается со стандартного ввода. Если запись в журнале изменений не указана через "<"
перенаправление мерзавец дерево фиксации будет просто ждать ввода одного и завершать его нажатием ^ D.
ДАТА ФОРМАТЫ
Переменные среды GIT_AUTHOR_DATE, GIT_COMMITTER_DATE поддерживают следующую дату
форматы:
Внутренний формат Git
это , куда это количество
секунд с эпохи UNIX. положительное или отрицательное смещение
от UTC. Например, CET (что на 2 часа опережает UTC) составляет +0200.
RFC 2822
Стандартный формат электронной почты, описанный в RFC 2822, например, четверг, 07 апреля 2005 г.
22:13:13 +0200.
стандартами качества ISO 8601
Время и дата указаны в стандарте ISO 8601, например 2005-04-07T22: 13: 13. В
синтаксический анализатор также принимает пробел вместо символа T.
Внимание
Кроме того, часть даты принимается в следующих форматах: ГГГГ.ММ.ДД,
ММ / ДД / ГГГГ и ДД.ММ.ГГГГ.
ОБСУЖДЕНИЕ
Git в некоторой степени не зависит от кодировки символов.
· Содержимое больших двоичных объектов представляет собой неинтерпретируемые последовательности байтов. Здесь нет
кодирование перевода на базовом уровне.
· Имена путей кодируются в форме нормализации UTF-8 C. Это относится к объектам дерева,
индексный файл, имена ссылок, а также имена путей в аргументах командной строки,
переменные среды и файлы конфигурации (.git / config (см. git-конфигурация(1)), gitignore(5)
gitattributes(5) и gitmodules(5 г.)).
Обратите внимание, что Git на базовом уровне обрабатывает имена путей просто как последовательности, отличные от NUL.
байтов, преобразование кодировки имени пути не выполняется (кроме Mac и Windows).
Следовательно, использование имен путей, отличных от ASCII, в основном будет работать даже на платформах и файловых
системы, использующие устаревшие расширенные кодировки ASCII. Однако репозитории, созданные на
такие системы не будут работать должным образом в системах на основе UTF-8 (например, Linux, Mac, Windows)
наоборот. Кроме того, многие инструменты на основе Git просто предполагают, что имена путей
UTF-8 и не сможет правильно отображать другие кодировки.
· Сообщения журнала фиксации обычно кодируются в UTF-8, но другие расширенные кодировки ASCII
также поддерживаются. Сюда входят ISO-8859-x, CP125x и многие другие, но
Многобайтовые кодировки UTF-16/32, EBCDIC и CJK (GBK, Shift-JIS, Big5, EUC-x, CP9xx
и т.д.).
Хотя мы рекомендуем кодировать сообщения журнала фиксации в UTF-8, как ядро, так и
Git Porcelain спроектирован так, чтобы не использовать UTF-8 в проектах. Если все участники
конкретному проекту удобнее использовать устаревшие кодировки, Git не запрещает
Это. Однако следует помнить о нескольких вещах.
1. мерзавец совершать и мерзавец дерево фиксации выдает предупреждение, если ему предоставлено сообщение журнала фиксации
не выглядит как допустимая строка UTF-8, если вы явно не укажете, что ваш проект использует
устаревшая кодировка. Можно сказать, что i18n.commitencoding находится в .git / config.
файл, например:
[и18н]
фиксация = ISO-8859-1
Объекты фиксации, созданные с помощью вышеуказанного параметра, записывают значение i18n.commitencoding.
в заголовке кодировки. Это сделано для того, чтобы помочь другим людям, которые посмотрят на них позже. Отсутствие
этот заголовок подразумевает, что сообщение журнала фиксации закодировано в UTF-8.
2. мерзавец журнал, мерзавец по оценкам, , мерзавец рост количества бездомных пытаются свалить и друзья смотрят на заголовок кодировки коммита
объект и попробуйте перекодировать сообщение журнала в UTF-8, если не указано иное. Ты
можно указать желаемую кодировку вывода с помощью i18n.logoutputencoding в .git / config
файл, например:
[и18н]
logoutputencoding = ISO-8859-1
Если у вас нет этой переменной конфигурации, значение i18n.commitencoding равно
используется вместо
Обратите внимание, что мы сознательно решили не перекодировать сообщение журнала фиксации, когда фиксация
сделано, чтобы заставить UTF-8 на уровне объекта фиксации, потому что перекодирование в UTF-8 не
обязательно обратимая операция.
Используйте git-commit-tree онлайн с помощью сервисов onworks.net