我从远程仓库remote_repo的master分支克隆了一个项目,我创建了一个新的分支并提交到该分支,其他程序员将remote_repo推到master分支。现在我需要将本地分支RB重定基到remote_repo的master分支上。如何做到这一点?什么命令键入到一个终端?
remote_repo
RB
master
s8vozzvw1#
首先从上游资源库获取新的master文件,然后在此基础上重新设置工作分支的基:
git fetch origin # Updates origin/master git rebase origin/master # Rebases current branch onto origin/master
更新:请参阅Paul Draper's answer以获取更简洁的方法-最近的Git版本提供了一种更简单的方法来执行上述两个命令的等效命令。
vd8tlhqk2#
git pull --rebase origin master
xtupzzrd3#
提交对分支的更改后, checkout master并从repo中获取它的最新更改:
git checkout master git pull origin master
然后 checkout 你的分支,并将你的修改重新定基到master:
git checkout RB git rebase master
...或一行中的最后两个命令:
git rebase master RB
当尝试推回到origin/RB时,您可能会得到一个错误;如果你是唯一一个在RB上工作的人,你可以强制push:
origin/RB
git push --force origin RB
...或者如果你已经正确配置了git,如下所示:
git push -f
e0uiprwp4#
git fetch && git rebase origin/master
解决任何冲突,测试您的代码,提交并将新更改推送到远程分支。
~: For noobs :~
git rebase
git checkout YourBranch git pull --rebase
git checkout master git pull --rebase
git checkout YourBranch git rebase master
git rebase --continue
git rebase --abort
git push --force-with-lease
--force-with-lease
git checkout master git merge YourBranch
~: (๑ơ ₃ ơ)♥ rebase :~
hfwmuf9z5#
第一步:
git fetch origin
第二步:
git rebase origin/master
步骤3:(如果有冲突,请修复)
git add .
第四步:
第五步:
git push --force
9ceoxa926#
1.首先更新主数据...
git checkout [master branch] git pull [master branch]
2.现在使用主分支对源分支重新定基
git checkout [source branch] git rebase [master branch] git pull [source branch] (remote/source branch) git push [source branch]
如果远程上尚不存在源分支,则执行以下操作:
git push -u origin [source branch]
“瞧..."
xyhw6mcr7#
git fetch origin master:master提取master的最新版本,而无需将其检出。所以你需要做的就是:git fetch origin master:master && git rebase master👌
git fetch origin master:master
git fetch origin master:master && git rebase master
qzwqbdag8#
如果当前分支有大量的提交,并且需要在重定基之前进行压缩、修复和重写,那么交互式重定基就是正确的答案。当软件工程师说“在master之上重定基”时,他们通常的意思是“在origin/master之上进行交互式重定基,并确保它看起来很棒,不必要的提交被压缩,提交消息被纠正”。首先,检查git status并确保在feature分支中启动。如果不在要素分支中,请尝试git checkout feature Then
git status
git checkout feature
git fetch origin git rebase -i origin/master
很少情况下,当请求在主提交之上进行变基时,提交历史可以按原样进行变基。大多数情况下,现有的提交首先会使用交互式变基进行修改。
xqkwcwgp9#
简单解决方案:
git checkout master && git pullgit checkout branchgit rebase master-〉解决冲突(如果有)git add .git rebase --continuegit push --force-with-lease origin branch
git checkout master && git pull
git checkout branch
git rebase master
git push --force-with-lease origin branch
9条答案
按热度按时间s8vozzvw1#
首先从上游资源库获取新的master文件,然后在此基础上重新设置工作分支的基:
更新:请参阅Paul Draper's answer以获取更简洁的方法-最近的Git版本提供了一种更简单的方法来执行上述两个命令的等效命令。
vd8tlhqk2#
xtupzzrd3#
提交对分支的更改后, checkout
master
并从repo中获取它的最新更改:然后 checkout 你的分支,并将你的修改重新定基到
master
:...或一行中的最后两个命令:
当尝试推回到
origin/RB
时,您可能会得到一个错误;如果你是唯一一个在RB
上工作的人,你可以强制push:...或者如果你已经正确配置了git,如下所示:
e0uiprwp4#
解决任何冲突,测试您的代码,提交并将新更改推送到远程分支。
git rebase
并且希望轻松操作的用户**git rebase --continue
继续重新设定基址。您可以随时使用git rebase --abort
中止重新设定基址。--force-with-lease
将确保在您重定基时是否有其他开发人员对YourBranch的任何其他传入更改。这比强制推送更有用。如果有任何传入更改,请在推送更改之前获取它们以更新本地YourBranch。hfwmuf9z5#
第一步:
第二步:
步骤3:(如果有冲突,请修复)
第四步:
第五步:
9ceoxa926#
1.首先更新主数据...
2.现在使用主分支对源分支重新定基
如果远程上尚不存在源分支,则执行以下操作:
“瞧..."
xyhw6mcr7#
git fetch origin master:master
提取master的最新版本,而无需将其检出。所以你需要做的就是:
git fetch origin master:master && git rebase master
👌qzwqbdag8#
如果当前分支有大量的提交,并且需要在重定基之前进行压缩、修复和重写,那么交互式重定基就是正确的答案。当软件工程师说“在master之上重定基”时,他们通常的意思是“在origin/master之上进行交互式重定基,并确保它看起来很棒,不必要的提交被压缩,提交消息被纠正”。
首先,检查
git status
并确保在feature分支中启动。如果不在要素分支中,请尝试
git checkout feature
Then很少情况下,当请求在主提交之上进行变基时,提交历史可以按原样进行变基。大多数情况下,现有的提交首先会使用交互式变基进行修改。
xqkwcwgp9#
简单解决方案:
git checkout master && git pull
git checkout branch
git rebase master
-〉解决冲突(如果有)git add .
git rebase --continue
git push --force-with-lease origin branch