Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.39.1 → 2.51.0 no changes
-
2.39.0
2022-12-12
- 2.15.4 → 2.38.5 no changes
- 2.14.6 no changes
- 2.7.6 → 2.13.7 no changes
-
2.6.7
2017-05-05
- 2.2.3 → 2.5.6 no changes
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
ОПИС
Зчитати патч зі стандартного вводу та обчислити його ідентифікатор.
«Ідентифікатор патча» — це не що інше, як сума SHA-1 відмінностей файлів, пов’язаних із патчем, при цьому номери рядків ігноруються. Таким чином, він є «достатньо стабільним», але водночас і досить унікальним, тобто два патчі з однаковим «ідентифікатором патча» майже гарантовано є одним і тим самим.
Основне використання цієї команди — пошук ймовірних дублікатів комітів.
Під час роботи з виводом «git diff-tree» використовується той факт, що перед патчем стоїть ім’я об’єкта коміту, і виводиться два 40-байтові шістнадцяткові рядки. Перший рядок — це ідентифікатор патча, а другий — ідентифікатор коміту. Це можна використовувати для зіставлення ідентифікатора патча з ідентифікатором коміту.
ОПЦІЇ
- --verbatim
-
Обчислюйте patch-id вхідних даних так, як вони задані, не видаляючи пробіли.
Це значення за замовчуванням, якщо patchid.verbatim має значення true.
- --stable
-
Використовуйте «стабільну» суму хешів як ідентифікатор патча. З цією опцією:
-
Зміна порядку різниці файлів, що складають патч, не впливає на ідентифікатор. Зокрема, два патчі, створені шляхом порівняння тих самих двох дерев з двома різними налаштуваннями для "-O<файл_порядку>", призводять до однакового підпису ідентифікатора патча, що дозволяє використовувати обчислений результат як ключ для індексації деякої метаінформації про зміну між двома деревами;
-
Результат відрізняється від значення, отриманого git 1.9 та старішими версіями, або отриманого, коли налаштовано "нестабільний" хеш (див. --unstable нижче) - навіть якщо використовується на виводі diff, отриманому без використання "-O<файл_замовлення>", що робить існуючі бази даних, що зберігають такі "нестабільні" або історичні ідентифікатори патчів, непридатними для використання.
-
Усі пробіли всередині патча ігноруються та не впливають на ідентифікатор.
Це значення за замовчуванням, якщо для patchid.stable встановлено значення true.
-
- --unstable
-
Використовуйте "нестабільний" хеш як ідентифікатор патча. З цією опцією отриманий результат сумісний зі значенням patch-id, створеним git 1.9 та старішими версіями, а пробіли ігноруються. Користувачі з попередніми базами даних, що зберігають patch-idents, створені git 1.9 та старішими версіями (які не мають справу з перевпорядкованими патчами), можуть захотіти скористатися цією опцією.
Це значення за замовчуванням.
GIT
Частина набору git[1]