Git 没有获取上游数据?
Git isn't fetching upstream data?
我有 Git 设置可以访问两个 github 存储库:我没有协作者(写入)访问权限的上游远程,以及我创建的我有写权限的分支。以下是我 运行 git remote -v
.
时得到的结果
origin https://github.com/samholmes1337/secret-society (fetch)
origin https://github.com/samholmes1337/secret-society (push)
upstream https://github.com/asm-products/secret-society.git (fetch)
upstream https://github.com/asm-products/secret-society.git (push)
然而,当我尝试 运行 git fetch upstream
以检索最新更改和 have them stored in a new branch called upstream/master 时,它会暂停一秒钟,然后什么也没有发生。
当我检查我的分支以查看是否已获取任何内容时,我只看到 master
分支,没有其他任何内容,就好像没有检索到任何更改一样。出了什么问题?
这应该意味着远程跟踪上游分支已经是最新的。
您可以通过以下方式检查:
git branch -avv
这将显示所有 分支,包括远程跟踪分支及其关联的 SHA1。
如评论中所述,即使远程跟踪分支不是最新的并且实际上正在获取新提交,也不会在工作树中放置任何内容。
只有 upstream/master
的合并才会这样做。因为 git pull
= git fetch
+ git merge
,做一个 git pull
可能更方便。
git fetch
只获取提交,它不合并,不更新你的引用(不是远程引用)。
查看 git branch -a
是否有名为 remotes/upstream/*
的分支。
您还可以通过 git checkout FETCH_HEAD
.
获取刚刚获取的内容
如果您希望本地 master
反映 upstream
的 master
,您需要 git checkout master && git pull upstream master
。如果 master
的历史没有分歧(即您在另一个分支中有本地工作),则此方法有效。它首先获取,然后将 FETCH_HEAD
合并到您的本地 master,让您看到新的提交。
如果你想从upstream
得到一个分支,同时创建一个本地引用:git fetch upstream master:upstream_master
.
git branch
默认显示本地分支
您需要添加 -a-
或 --all
以列出远程跟踪和本地分支。
我建议您查看 git branch -h
以检查其他选项。
我有 Git 设置可以访问两个 github 存储库:我没有协作者(写入)访问权限的上游远程,以及我创建的我有写权限的分支。以下是我 运行 git remote -v
.
origin https://github.com/samholmes1337/secret-society (fetch)
origin https://github.com/samholmes1337/secret-society (push)
upstream https://github.com/asm-products/secret-society.git (fetch)
upstream https://github.com/asm-products/secret-society.git (push)
然而,当我尝试 运行 git fetch upstream
以检索最新更改和 have them stored in a new branch called upstream/master 时,它会暂停一秒钟,然后什么也没有发生。
当我检查我的分支以查看是否已获取任何内容时,我只看到 master
分支,没有其他任何内容,就好像没有检索到任何更改一样。出了什么问题?
这应该意味着远程跟踪上游分支已经是最新的。
您可以通过以下方式检查:
git branch -avv
这将显示所有 分支,包括远程跟踪分支及其关联的 SHA1。
如评论中所述,即使远程跟踪分支不是最新的并且实际上正在获取新提交,也不会在工作树中放置任何内容。
只有 upstream/master
的合并才会这样做。因为 git pull
= git fetch
+ git merge
,做一个 git pull
可能更方便。
git fetch
只获取提交,它不合并,不更新你的引用(不是远程引用)。
查看 git branch -a
是否有名为 remotes/upstream/*
的分支。
您还可以通过 git checkout FETCH_HEAD
.
如果您希望本地 master
反映 upstream
的 master
,您需要 git checkout master && git pull upstream master
。如果 master
的历史没有分歧(即您在另一个分支中有本地工作),则此方法有效。它首先获取,然后将 FETCH_HEAD
合并到您的本地 master,让您看到新的提交。
如果你想从upstream
得到一个分支,同时创建一个本地引用:git fetch upstream master:upstream_master
.
git branch
默认显示本地分支
您需要添加 -a-
或 --all
以列出远程跟踪和本地分支。
我建议您查看 git branch -h
以检查其他选项。