在推送到远程之前重新设置本地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
|
...