问题
Need to push existing git repo to Gerrit however have issues doing this:
remote: ERROR: missing Change-Id in commit message footer
because repo did not contain .git/hooks/commit-msg
. Now I have the script installed, however need to change hundreds of commit messages to add Change-Id
everywhere. How to make it automatically in the best and easiest way?
Possible solutions:
- I see some topics here suggest to use
git rebase -i
, however it is interactive and mostly manual process. - Others to use
sed
command withgit rebase
as commit message editor. What is the exactrebase
command will be in my case? - Third proposes to use
git filter-branch
command, however it works only for commits on a current branch that have not yet been pushed to an upstream branch.
Any other solutions, fixes or suggestions for the above? Thanks!
回答1:
You need to do talk to the Gerrit administrators and ask for permission to push direct to branch bypassing review. Explain what you're trying to do telling that you just need this permission temporally (after the execution of the "git push gerrit HEAD:refs/heads/master" command the permission can be removed).
Other possibility: ask to the Gerrit administrators or someone who has permission to push to refs/heads/* (configuration managers use to have such permission) to execute the command for you.
Do NOT change retroactively the past commits, this isn't a good idea.
来源:https://stackoverflow.com/questions/52321292/move-git-repository-from-github-to-gerrit-automatically