Changing Git Commit Author and Pushing to Multiple Repositories

Abu Sayed
Information Technology Hub
2 min readJun 27, 2024

This tutorial will guide you through the process of changing the author of a Git commit and pushing the changes to multiple repositories. This can be useful when you need to adjust authorship or collaborate across different repositories.

Git Like a Pro: Changing Commit Authors & Pushing to Multiple Repos

Prerequisites

  • Git installed on your system
  • Access to the repositories you want to push to

Steps

1. Clone the Repository

First, clone the repository you want to work with:

git clone https://github.com/original-repo/project.git
cd project

2. Change the Author of the Last Commit

To change the author of the most recent commit:

git commit --amend --author="New Author Name <new.author@email.com>" --no-edit

If you need to change an older commit, you’ll need to use interactive rebase. Be cautious, as this rewrites history:

git rebase -i HEAD~n  # n is the number of commits to go back
# In the editor, change 'pick' to 'edit' for the commit you want to modify
git commit --amend --author="New Author Name <new.author@email.com>" --no-edit
git rebase --continue

3. Add Remote Repositories

Add the repositories you want to push to as remotes:

git remote add repo1 https://github.com/repo1/project.git
git remote add repo2 https://github.com/repo2/project.git

You can list your remotes to confirm they’ve been added:

git remote -v

4. Push to the First Repository

Push your changes to the first repository:

git push repo1 HEAD:branch-name

Replace branch-name with the name of the branch you want to push to.

5. Push to the Second Repository

Now push to the second repository:

git push repo2 HEAD:branch-name

Again, replace branch-name with the appropriate branch name.

6. Handling Push Rejections

If a push is rejected because the remote branch has changes your local branch doesn’t have, you’ll need to integrate those changes. Here’s how:

a. Fetch the latest changes:

git fetch repo1

b. Rebase your changes on top of the remote changes:

git pull --rebase repo1 branch-name

c. Resolve any conflicts if they occur.

d. Continue the rebase:

git rebase --continue

e. Force push your changes:

git push repo1 HEAD:branch-name --force

Note: Be cautious with force pushing as it overwrites remote history. Ensure you’re the only one working on the branch or communicate with your team before doing this.

Important Considerations

  1. Ethics: Changing commit authorship raises ethical concerns. Ensure you have permission and a valid reason to do so.
  2. Collaboration: When working with others, communicate clearly about any history changes.
  3. Force Pushing: Use force pushing cautiously. It can cause issues for others if they’ve based work on the history you’re changing.
  4. Branch Protection: Some repositories may have branch protection rules that prevent force pushes or require pull requests.

Conclusion

This tutorial covered changing Git commit authorship and pushing to multiple repositories. Remember to use these techniques responsibly and in accordance with your team’s workflow and ethics.

--

--

Abu Sayed
Information Technology Hub

Bangladeshi Full Stack Web Dev, Sys Admin & DevOps Engineer. Skills: Data analysis, SQL, Kubernetes. Python, PHP & Laravel. Me on: bd.linkedin.com/in/imabusayed