Home > Enterprise >  How to update local branch with remote main in IntelliJ?
How to update local branch with remote main in IntelliJ?

Time:02-06

What is the process of updating my local branch with remote main in IntelliJ?

In the terminal I have done merging like this:

$ git checkout main
(main)$ git pull
(main)$ git checkout my-branch
(my-branch)$ git merge main

And rebase like this. Stay in the branch and rebase with remote main (no need to update local main):

(my-branch)$ git rebase origin/main

In IntelliJ the only option I have seen is, while in main, go to my-branch drop down menu and click on rebase main onto my-branch. I assume I would need to first update local main.

CodePudding user response:

Your example commands are correct for the different ways to update your local branch my-branch with the latest changes on main. Note though you can simplify your merge to work similarly as the rebase, like this:

git fetch # update your local copy of origin/main

# choose either merge
git merge origin/main

# or rebase
git rebase origin/main

It appears the problem you're having in the UI is that you are trying to rebase while main is checked out. Regardless of whether you merge or rebase, you are going to modify the branch you have checked out1, so even for rebase you should still have my-branch checked out in the UI, and then you can choose the option to either merge in origin/main or rebase onto origin/main.

Note you should always fetch before rebasing onto (or merging in) origin/main. In this way you can save the step of first checking out main and then pulling.


1 The rebase command actually takes a second argument which is the commit you wish to start from, and if that commit is a branch name it will check that branch out for you. So even if you had some other branch checked out, you could do this all in one command:

git rebase origin/main my-branch

and that will first check out my-branch and then rebase it onto origin/main.

CodePudding user response:

In IntelliJ IDEA, you could click the Git Branch widget in IDEA's right bottom status bar (or in the top-left if you are using the new UI), then click the local main branch name, and choose the Update button to update it. It will fetch it from remote and subsequently apply changes to the selected branch.

See the documentation here: https://www.jetbrains.com/help/idea/sync-with-a-remote-repository.html#update-git-branch

  • Related