-1

我在项目的“dev”分支中有一些未签名的提交。

但是项目发生了变化,现在我必须在与 master 合并之前签署每个提交。

如果我在“dev”分支中有未签名的提交,如何与 master 合并?

4

1 回答 1

2

我在项目的“dev”分支中有一些未签名的提交。

你是在自问自答:

…我必须签署每个提交…</p>

您必须签署分支中的每个提交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_IDdev是从 中拆分出来的提交的 ID master。您可以使用git log --all --decorate或找到它git merge-base --fork-point master

签署合并后master并推送新的dev

git checkout master
git merge dev
git push origin master +dev
于 2018-05-31T19:27:35.237 回答