У мене є 2 локальних сховища git, обидва вказують на одне віддалене сховище.
Якщо в одному сховищі git я git format-patch 1
можу застосувати цей патч до іншого сховища?
У мене є 2 локальних сховища git, обидва вказують на одне віддалене сховище.
Якщо в одному сховищі git я git format-patch 1
можу застосувати цей патч до іншого сховища?
Відповіді:
Примітка. Спочатку ви можете попередньо переглянути, що буде робити ваш патч:
Спочатку статистика:
git apply --stat a_file.patch
Потім сухий запуск для виявлення помилок:
git apply --check a_file.patch
Нарешті, ви можете git am
застосувати свій патч як фіксацію: він дозволяє підписати застосований патч.
Це може бути корисним для подальшого ознайомлення.
git am --signoff < a_file.patch
Дивіться приклад у цій статті :
У вашому журналі журналу git ви побачите, що повідомлення про фіксацію містять тег "Підписаний вихід". Цей тег прочитає Github та інші, щоб надати корисну інформацію про те, як комісія закінчилася в коді.
git am < somepatch.patch
дає "фатально: порожнє ім'я ідентифікатора (для <>) не дозволено". Хтось може мені пояснити, чому?
Author
заголовки в патчі, та / або ви цього не зробили git config user.{name,email}
.
git apply --check
каже patch does not apply
, і git apply -3
каже repository lacks the necessary blob to fall back on 3-way merge.
В git, відмовляння від комісій - це такий вітер; але як люди відновлять свої патчі поверх оновленого коду?
git apply name-of-file.patch
Або, якщо ви б'єте його старою школою:
cd /path/to/other/repository
patch -p1 < 0001-whatever.patch
Спочатку слід взяти до відома різницю між git am
таgit apply
Коли ви використовуєте git am
ви зазвичай хочете застосувати багато виправлень. Таким чином слід використовувати:
git am *.patch
або просто:
git am
Git автоматично знайде патчі та застосує їх у порядку ;-)
UPD
Тут ви можете дізнатися, як генерувати такі виправлення
git apply
.. і в --reverse
:-) 👍
Якщо ви хочете застосувати це як зобов'язання , використовуйте git am .
Якщо ви використовуєте ID JetBrains IDE (наприклад, IntelliJ IDEA, Android Studio, PyCharm), ви можете перетягнути файл патча та запустити його всередину IDE, і з'явиться діалогове вікно, де відображатиметься вміст патчу. Все, що вам потрібно зробити зараз, це натиснути кнопку «Застосувати виправлення», і буде створено комісію.
Ви можете використовувати нижче вказані cmd
git apply fileName.patch