Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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_Git Rebase_Git Push - Fatal编程技术网

在推送到远程之前重新设置本地Git分支的基址

在推送到远程之前重新设置本地Git分支的基址,git,git-rebase,git-push,Git,Git Rebase,Git Push,遥控器:原点 $ git branch * master $ git checkout -b "new_feature" 现在我在“new_feature”分支上做了几次提交,并希望在更新后将其推送到源站 $ git branch master * new _feature $ git pull --rebase origin new_feature $ git push origin new_feature 这是在推送到远程之前更新本地分支的正确方法吗?您想使用 git pul

遥控器:原点

$ git branch
* master

$ git checkout -b "new_feature"
现在我在“new_feature”分支上做了几次提交,并希望在更新后将其推送到源站

$ git branch
master
* new _feature

$ git pull --rebase origin new_feature    
$ git push origin new_feature
这是在推送到远程之前更新本地分支的正确方法吗?

您想使用

git pull --rebase origin master
必须是可选的遥控器,以及该遥控器上的可选参考规范或参考/分支

git pull [options] [<repository> [<refspec>…]]
git pull[options][[…]]
new\u功能
不起作用,因为它是一个本地分支,另外,它对
rebase
没有意义,因为您希望将修订传递到
rebase
分支上的
new\u功能
。如果您签出了
new\u feature
,那么可以理解/隐含这就是您想要
rebase
的分支,这就是
rebase
的正常工作方式。

在创建“new\u feature”分支后,您将有一个如下状态

o   <master> <origin/master> <new_feature>  most recent commit
|
...
,正如纸杯蛋糕所暗示的,你将以

o   <new_feature>   your last commit
|
o   your first commit
|
o   <origin/master> something meanwhile commited on remote master
|
o   <master>    most recent commit
|
...
o您最后的提交
|
o你的第一次承诺
|
o同时在远程主机上提交了一些内容
|
o最近的承诺
|
...
您的更改在“原始/主”之上重新设置。这些不是您的原始提交,而是更改的提交,以适应“新”的“源/主”

执行重设基础操作可能会导致合并冲突,因为在远程主机上所做的更改可能会与您的更改冲突

但是,由于“新功能”现在“位于”“源/主机”之上”,您可以推送到远程主机


这也会将标签“原点/主”移动到“新功能”级别。如果您还想让您的本地“主机”走上正轨,那么您必须将其签出并与“origin/master”进行合并。

我无法理解这一点。我的理解是,因为我必须将新的功能分支推送到远程,所以我想在推之前更新新的功能。所以现在我正在研究新的功能分支。那么gir pull——重新基准原点主控将如何更新“新的_特性”?这将更新主分支,对吗?对不起。但出于某种原因,我没有理解最后一部分。你必须澄清你的问题。您是否试图更新
新功能
,并从
源代码
对其进行更改?或者您是在尝试使用对
源代码
中的
主代码
所做的更改来更新它吗?
git pull --rebase origin master
o   <new_feature>   your last commit
|
o   your first commit
|
o   <origin/master> something meanwhile commited on remote master
|
o   <master>    most recent commit
|
...