来自远程分支的git rebase出现问题

来自远程分支的git rebase出现问题,git,gitlab,Git,Gitlab,我正在处理一个包含数百万行代码的大型项目,有一天我将提交推到了我的分支机构。 后来我做了额外的更改&通过Web用户界面(确切地说是GitLab用户界面)推送提交。 现在,我想将更改从我的_分支拉到我的本地环境 如果我运行git pull--rebase origin my_branch,它会给我带来大量的rebase冲突,并导致我从未接触过的文件。我不知道如何合并它们,从而解决所有的冲突。。。我确信没有其他人在那里推动任何东西 如何克服这种情况? 我做错了什么 提前谢谢 一个可能的解决方案(也是

我正在处理一个包含数百万行代码的大型项目,有一天我将提交推到了
我的分支机构
。 后来我做了额外的更改&通过Web用户界面(确切地说是GitLab用户界面)推送提交。 现在,我想将更改从
我的_分支
拉到我的本地环境

如果我运行
git pull--rebase origin my_branch
,它会给我带来大量的rebase冲突,并导致我从未接触过的文件。我不知道如何合并它们,从而解决所有的冲突。。。我确信没有其他人在那里推动任何东西

如何克服这种情况? 我做错了什么


提前谢谢

一个可能的解决方案(也是更安全的解决方案)是重命名本地分支(并取消其上游设置),然后获取远程分支,然后在本地将其合并为另一个分支。

好的,您应该保存当前分支的内容:

git checkout my_branch
git checkout -b by_branch_saved
然后返回my_分支并进行硬重置:

git checkout my_branch 
git reset --hard my_branch <latest_stable_version_without_your_changes>
git签出我的分支
git重置--硬我的分支
在所有这些之后,您就能够毫无问题地执行重基

git checkout trunk
git branch -D my_branch
git pull
git checkout my_branch
重新创建帮助了我:我刚刚删除了我的本地分支,并再次从主干中提取更改。然后我切换到我的分支机构

就这些。
谢谢大家

您未接触过的文件中存在冲突,但其他人接触过。重定基址将针对远程分支重新合并本地提交。必须再次合并已合并的任何更改。如果您在本地有许多提交,并且您没有推送它们,那么它们会随着时间的推移而累积。重新定基变得越来越困难

如果任务运行时间较长,请从
my\u branch
创建一个新分支。进行常规合并,而不是重定基址。这可以防止您不得不一次又一次地重新合并相同的更改。当需要将您的个人分支合并回
my_分支时
使用挤压合并来保持提交历史记录的干净:

git checkout my_branch
git pull
git checkout -b your_branch
git commit
git commit
git fetch
git merge origin/my_branch
git commit
git checkout my_branch
git pull
git merge --squash your_branch
git push origin HEAD

当你做一个pull时,它是从origin上的
my_branch
拉的吗?是的,我只是想拉我推过的所有web用户界面