Git 当远程主线中有更新时,如何在不添加合并提交的情况下推送提交
假设我拉动回购的Git 当远程主线中有更新时,如何在不添加合并提交的情况下推送提交,git,Git,假设我拉动回购的主线,进行一些更改,添加一个提交my_commit。同时,其他人将someone\u commit推到远程mainline。现在,如果我想推,如果我做了git-pull,将会有冲突,我必须添加一个mergecommit。有没有一种方法可以实现类似于previous\u commit->someone\u commit->my\u commit而不是` previous_commits->someone_commit -> merge commits of ...
主线,进行一些更改,添加一个提交my_commit
。同时,其他人将someone\u commit
推到远程mainline
。现在,如果我想推,如果我做了git-pull
,将会有冲突,我必须添加一个merge
commit。有没有一种方法可以实现类似于previous\u commit->someone\u commit->my\u commit
而不是`
previous_commits->someone_commit -> merge commits of ...
->my_commit ->
是的,这就是我们的目的
比如:
git rebase origin/mainline
这会将您的分支重置为主线(提示处有previous_commits
),然后在顶部重播您的提交
如果存在冲突,系统将提示您解决冲突
以下内容听起来与您当前的情况无关,但请注意,这将改变您当地分支机构的历史。如果已经将本地提交推送到开发分支,则需要使用强制推来重写远程开发分支上的历史记录。但是,如您所说,如果您和同事在同一个分支上工作,那么这不太可能是一个问题(对共享分支的强制推送可能会导致重大问题)因此,我当前的提交具有HEAD->mainline,这是一个在本地从原点/主线开始的提交。我的本地来源/主线在远程后提交。这样一来,git-rebase-origin/mainline
似乎不起作用了?试试git-fetch
。这将在origin/mainline
分支中提取origin的提交。(我假设mainline
是一个分支名称)