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

Git 如何在重基完成后将分支指向主分支

Git 如何在重基完成后将分支指向主分支,git,github,Git,Github,我对git的rebase工作流不是很清楚,我试着对下面提到的两个不同的分支进行rebase 但我无法将我的分支更新到主节点在重基完成后指向的位置 下面是我执行的步骤 git clone https://github.com/myadmin/testrepo.git git checkout -b hotfix git push origin hotfix modify file "todo.txt" on hotfix branch. git add todo.txt git commit

我对git的rebase工作流不是很清楚,我试着对下面提到的两个不同的分支进行rebase

但我无法将我的分支更新到主节点在重基完成后指向的位置

下面是我执行的步骤

git clone https://github.com/myadmin/testrepo.git
git checkout -b hotfix
git push origin hotfix

modify file "todo.txt" on hotfix branch.

git add todo.txt
git commit -m "todo updates"
git push remote master

现在我签出“主”分支


到目前为止,我只是用1次提交来阻止分支“master”和“hotfix”,所以我可以执行重基

现在我使用以下命令重新设置基础

git checkout hotfix
git rebase master
所以我得到了冲突,所以,我在文本编辑器中打开文件手动修复所有冲突,然后再次添加并提交该文件,如下所示

git add todo.txt
git commit -m "resolve conflict"

git rebase --continue
直到现在我的重基完成,现在我想移动我的“主”指针,所以我在下面运行命令

git checkout master
git merge hotfix
现在我完美地将我的“热修复”更改为“主”

我的评估从这里开始……

如何将我的“热修复程序”分支指向在重新基址操作后“主程序”当前所在的位置?

只需执行以下操作:

git checkout hotfix
git merge master

感谢您的快速回复,但在这种情况下,它会再次产生冲突,对吗?这是不是一个正确的流程,为重新基地或没有,请分享您的宝贵意见,因为你刚刚合并到主补丁,合并到主补丁主补丁应该只是一个快速前进的合并,即它应该只是提前热补丁指向主。实际上,我很惊讶,你甚至需要这样做,因为我假设你将热修复程序合并到主程序本身就是一个FF合并。David,这意味着在将热修复程序合并到主程序之后,不需要更新“热修复程序”分支。所以我假设我遵循的工作流程是正确的?再次感谢David无需更新热修复程序。您可以通过执行
git rev parse hotfix
git rev parse master
来确认这一点,并确认这两者的输出相同。就你的工作流程而言,我觉得还不错。就我个人而言,我更喜欢在集成功能或修补程序时进行合并,而不是重新基础(特别是在存在冲突时),但这是我个人的偏好。你真的将分支
修补程序
推到
远程
,而分支
master
remote
hotfix
?您知道对推送的分支进行重定基址通常是一个非常糟糕的主意,对吗?
git checkout hotfix
git merge master