how can I do a get latest on a remote branch?
我正试图从一个远程Github分支获取最新的代码。假设这个分支名为mydevbranch,我如何在本地获得它?我试过:
这种回报:
1 2 3 4 5
| fatal: 'myDevBranch' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists. |
看起来像是一个安全问题,或者是否有其他方法在本地获取远程分支?
- 提示:'myDevBranch' does not appear to be a git repository。了解如何调用git fetch:git-scm.com/docs/git-fetch
你不去拿树枝,你去拿一个遥控器,所以正确的线路是
1
| git fetch origin # or whatever your remote is called |
然后更新所有跟踪分支,更新后的代码将是一个名为origin/myDevBranch的分支,源代码将再次替换为上游名称。
要更新您的本地分支,您可以合并上游的git merge origin/myDevBranch,但您需要确保您的HEAD指向这个远程(aka mydevbranch)的本地分支,
或者你可以签出git checkout origin/myDevBranch,但这会使你处于分离的head模式,你可以使用git checkout -b从远程创建一个新的本地分支。
如果你的HEAD指向你现在的分支,那么你可以做一个git pull,记住pull会同时做fetch和merge,如果你的分支因为任何原因出现分歧,你会得到一个conflict,你需要自己解决。
如果你需要rebase,你可以做手动fetch和rebase,也可以做git pull --rebase。
- 您还可以使用git pull获取计算机远程分支中的任何内容。它将来自远程存储库的更改合并到当前分支中。在默认模式下,git pull是git fetch的简写,后面是git merge FETCH_HEAD。来源:【git scm.com/docs/git pull】
- 谢谢@paramvirsinghkarwal,你是对的,我会更新我的答案。
- 您还可以使用git fetch -vp来显示详细的进度,即哪些分支是最新的,哪些已更新。