Объединить неподписанные коммиты с мастером - PullRequest
0 голосов
/ 31 мая 2018

У меня есть несколько неподписанных коммитов в ветке "dev" моего проекта.

Но в проекте произошли изменения, и теперь я должен подписать каждый коммит перед слиянием с мастером.

Как я могу слиться с мастером, если у меня есть коммиты без знака в ветке "dev"?

1 Ответ

0 голосов
/ 31 мая 2018

У меня есть несколько неподписанных коммитов в ветке "dev" моего проекта.

Вы ответили на свой вопрос:

… Я должен подписатькаждый коммит…

Вы должны подписать каждый коммит в ветке dev.Пожалуйста, имейте в виду, что подписание коммита изменяет всю ветвь после этого коммита, поэтому в конце вы должны принудительно нажать ветку dev.И сделайте резервную копию перед запуском.

Начните с ветки dev:

git checkout dev

Если в нем всего несколько коммитов (начиная с коммита, где он был разветвлен от master) тогда вы можете выполнить git rebase -i $COMMIT_ID и запустить git commit -S --amend для каждого коммита, который вы хотите подписать.

Если их больше, чем несколько, лучше использовать filter-branch:

git filter-branch -f --commit-filter 'git commit-tree -S "$@"' $COMMIT_ID..dev

$COMMIT_ID - это идентификатор коммита, где dev было разделено от master.Вы можете найти его с помощью git log --all --decorate или git merge-base --fork-point master.

После подписания объедините с master и нажмите новый dev:

git checkout master
git merge dev
git push origin master +dev
...