I'm the administrator of the GitHub repository https://github.com/plison/opendial. I would like to reduce the number of commits on the repository, since the repository already has a few thousand commits, many of whom are minor debugging changes that could easily be squashed together (especially the ones that are a few years old).
I'm therefore trying to apply rebasing in order to squash together part of my commits. However, I've experience the following issue:
git rebase -i HEAD~10
, I get a quite long number of commit lines (much more than 10) in the interactive editor. What could be the reason?How can I solve these issues? It should be noted that the repository was automatically imported from a previous (SVN) repository hosted on Google Code. The conversion seemed so far to have worked well, but I'm wondering why I get these errors when trying to rebase my commits.
As a reminder to myself on how to resolve this:
The error message is not very informative. If you type
git rebase --continue
you realize the error is because of a merge conflict that git cannot resolve by itself, and needs your help.
To see what files have conflicts, type
git status
Resolve the merge conflicts in your favorite editor/IDE (hint: this should start with i and end with ntelliJ)
Mark resolution with
git add .
If all the conflicts are resolved, you should see something like this:
(all conflicts fixed: run "git rebase --continue")
So continue your rebase with
git rebase --continue
Hopefully your rebase should now be successful
git status
shows:
On branch feature/DIG-19302-Upgrade-mockito-v2
Your branch is behind 'origin/feature/your-feature-branch' by 2 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working directory clean
Don't do a git pull. If you do, you will only overwrite your merge conflicts. Instead push your merge conflict resolutions to the branch) with
git push --force
You're done! Your git log should show only 1 commit now (which is the forced update you just did)