我的项目分支“dev”中有一些未签名的提交。
但是项目发生了变化,现在我必须在与master合并之前签署每个提交。
如果我在“dev”分支中提交了unsigned,我怎么能与master合并?。
答案 0 :(得分:1)
我的项目分支“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
拆分的提交ID。您可以使用git log --all --decorate
或git merge-base --fork-point master
找到它。
将合并签署到master
并推送新的dev
:
git checkout master
git merge dev
git push origin master +dev