繁体   English   中英

git将本地分支重新建立到远程主服务器

[英]git rebase local branch to remote master

我对git完全陌生,在紧急情况下可以使用git命令将本地分支重新设置为远程master。 事情是这样发生的。

1.我在Github上从haiwen / seadroid分出了一个仓库 Logan676 / seadroid

2.我在Logan676/seadroid上创建了一个名为lguo的新分支

3.然后做一些修改,提交。 同时,原版主机haiwen/seadroid也被其他人更新。

4,现在我想将lguo haiwen/seadroid的最新起源大师。

我在下面使用了命令:

git fetch origin            # Updates origin/master
git rebase origin/master    # Rebases current branch onto origin/master

gitbash中的输出为: Current branch lguo is up to date

但是团队成员告诉我,我的分支机构是基于派生的回购主数据库而不是原始主数据库。 我对此感到很困惑,是否错过任何命令?

顺便说一句,我注意到有人这样写

git clone
git checkout -b dev_branch
[do some changes, commit]
git fetch origin
git rebase origin/master
git push origin HEAD:master

所以我应该添加最后一个命令行

git push origin HEAD:master

恐怕要使用该命令,我担心会损坏原始主机吗? 我该怎么办? 您的任何帮助将不胜感激。

虽然可以从本地分支机构A推送到远程分支机构B,但在这种情况下,两个分支机构已经分开,并且该推送将被拒绝。 您仍然可以强制执行推送,但这将意味着丢失自创建分支lguo以来master中发生的所有提交。

我建议您执行以下操作

git checkout master
git pull origin master
git merge lguo

这可能需要合并。 生成的master分支具有您对lguo所做的所有更改。 最后:

git push origin master

远程指向github上的克隆Logan676 / seadroid ,而不是haiwen / seadroid 您的Logan676 / seadroid本地克隆不知道原始的haiwen / seadroid存储库。

您需要将原始存储库添加为本地克隆的附加远程目录:

git remote add haiwen git@github.com:haiwen/seadroid.git

那你可以做

git fetch haiwen
git rebase haiwen/master

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM