git - 我做了 git pull --rebase 现在我的分支中有其他人的提交 - 为什么
问题描述
我做到了git pull --rebase
,现在我的分支中有其他人的提交 - 为什么?
发生了什么:
消息 1:
Your branch and 'origin/Ang-1075' have diverged,
and have 33 and 1 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
nothing to commit, working tree clean
我做了什么
git pull -- rebase
消息 2
(use "git push" to publish your local commits)
nothing to commit, working tree clean
我做了什么 :
git push
现在我有 66 个文件更改和许多不属于我的提交。我的分支上只有 2 次提交...
有没有办法恢复这个?
解决方案
您的本地副本与Ang-1075
同一分支的远程版本不同,origin/Ang-1075
.
1-2-3 <- local Ang-1075
\
2b-3b-4-5-6-...-33-34-...-66 <- origin/Ang-1075
在服务器允许您将分支推送回远程之前,您需要将此分支的本地版本和远程版本合并在一起。在 git 合并之后,它可能看起来像这样:
1-2-3--------------67 <- merge commit of origin/Ang-1075 into Ang-1075
\ /
2b-3b-........66
只要您获取并合并(即 git pull)然后在其他人推送新的提交之前推送,推送应该可以通过。我使用普通合并而不是变基,但如果其他人在该分支中处于活动状态,我也会为我的更改创建一个新的分支名称。
发生这种情况是因为当您提交本地副本时,其他人将新提交推送到远程的同一分支。
推荐阅读
- python - 向稀疏 CSR 矩阵添加多个 Pandas 列
- mysql - MYSQL各部门工资前2名及部门平均工资
- flutter - 尝试将名称更正为现有 getter 的名称,或定义名为“isInitialRoute”的 getter 或字段
- sql-server - 一对多关系有问题
- javascript - Javascript序列号初始化
- reactjs - 使用 React Native 持久化地理位置数据
- javascript - 根据 URL 参数在 app.use() 中发送不同的路由器
- google-apps-script - G Suite 开发人员表快速入门教程:“检查学生出勤”中的 TypeError
- compiler-construction - Fortran 在 Fortran 90 之前是如何防止递归的?
- python - 安装 holoviews 包后未定义 Pandas '_stringify_path'