Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 当远程主线中有更新时,如何在不添加合并提交的情况下推送提交_Git - Fatal编程技术网

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
是一个分支名称)