How to avoid merge commits from Git pull when push

2020-05-14 18:59发布

I have a repository and some local changes to commit. Before committing, I pulled the changes onto my local using Egit in Eclipse.

It creates a merge commit and I submit my commit over it.

Now when I am trying to push to origin, it is showing that it will push my commit as well as merge commit. But ideally, merge commit should not be a part of remote repository.

How to avoid this?

标签: git merge pull
4条回答
唯我独甜
2楼-- · 2020-05-14 19:17

When you have uncommitted changes, you can do,

git stash
git pull --rebase <remote> <branch>
git stash pop
查看更多
聊天终结者
3楼-- · 2020-05-14 19:18

You can run

git config --global branch.autosetuprebase always

to make git pull --rebase the default behaviour for git pull.

查看更多
甜甜的少女心
4楼-- · 2020-05-14 19:24

The usual strategy is to work on a branch. When the remote master changes, pull the changes to master and instead of merging, rebase the branch.

See Git Rebase at Atlassian.

查看更多
女痞
5楼-- · 2020-05-14 19:31

Use rebase option whenever you pull from remote repository. Please follow the below steps,

  1. Commit your changes - It will create a new commit in your local.
  2. Now do git pull --rebase <remote-name> <branch-name>.
  3. Basically the rebase take out your commits that you committed on the current branch HEAD as a patch. Then it will apply all the remote commits on top of HEAD and then applies your commits on top of it.
  4. So best practice is to commit changes then pull remote commits by using rebase option.
查看更多
登录 后发表回答