git - 我是否需要 git pull main 而不仅仅是 git fetch 才能从最新的 main 重新定位另一个分支?
问题描述
我正在一个名为 branchA 的分支上工作。main
已被另一个人更新并推送到远程。
我可以吗:
git co branchA # Make sure to be on branchA
git fetch
git rebase main
没有将远程main
更改合并到我的本地main
分支中,git pull
因为 rebase 违背了远程副本,或者我需要这样做:
git fetch
git checkout main
git pull # to get the changes applied to local main
git checkout branchA
git merge main
解决方案
您的第一个变基方法应该使用远程跟踪分支origin/main
,而不是本地main
,因为后者不会通过单独执行 fetch 来更新:
git checkout branchA
git fetch origin
git rebase origin/main
相同的逻辑适用于执行合并的版本:
git checkout branchA
git fetch origin
git merge origin/main
如果要使用本地main
分支,则必须在单独的步骤中专门对其进行更新:
git checkout main
git pull origin main
推荐阅读
- python - 用python库PyQt5改变主界面颜色
- java - java程序中的抽象
- php - 如果列包含使用 SQL 的特定文本,则换行/删除线
- java - 升级到 JDK 10 并在 Eclipse 中遇到大量编译错误
- html - 给 div 一个非矩形的形状
- mysql - Laravel 雄辩的多个搜索过滤器
- android - WebView 不接受某些 cookie
- angular - ngModelChange 在模型实际更改之前触发
- ruby-on-rails - “TypeError:在 Ruby on Rails 中上传文件后尝试将文件移动到另一个文件夹时,没有将数组隐式转换为字符串”
- android - Android - 如何添加自定义单词预测?(拼音喜欢)