git - 如何 pull 入非当前分支?

标签 git git-pull git-checkout git-stash

假设我当前的分支是 myfeature。我想让主人了解最新情况。据我所知,git merge git pull 总是 merge 到当前分支。

有没有办法将远程分支(例如,origin/master)的更改 merge 到我当前不在的分支(master)中?我可以想到一种方法:

git stash
git checkout master
git pull origin/master
git checkout myfeature
git stash apply

还有更好的吗?

(可能我的整个问题都是错误的:如果启用了远程跟踪,git fetch 会自动更新 master 以匹配 origin/master 吗?)

最佳答案

git fetch -u origin master:master

Merge, update, and pull Git branches without using checkouts

git fetch -u <remote> <remoteBranch>:<localBranch>

-u--update-head-ok 确保命令仍然有效 even if you have the given branch checked out ,否则会给出错误:

fatal: Refusing to fetch into current branch refs/heads/master of non-bare repository

关于git - 如何 pull 入非当前分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9747718/

相关文章:

git - 为什么 git checkout(过去的提交)没有更改我的文件?

git - 从 fork 的上游来源提取时忽略特定文件

git - 如何修改第二个最新提交

git - 如何推/pull Git rebase

php - 在纯 PHP 中 checkout git 存储库

git: merge 冲突后,检查重置文件,但现在 merge 不重新应用

Git 克隆私有(private)仓库,权限被拒绝

git - 使用 gitlab api 更新并提交文件

Git Merge - pull 和 merge 的区别

git - 当 git push 失败并显示 .. ."local out of date"时我该怎么办?