有人将一个名为test
with 的分支推git push origin test
送到共享存储库.我可以看到分支git branch -r
.
现在我正试图检查远程test
分支.
我试过了:
git checkout test
什么都不做
git checkout origin/test
给* (no branch)
.这令人困惑.我怎么能在"没有分支"?
如何查看远程Git分支?
我不知道为什么我无法检查我之前工作过的分支机构.请参阅以下命令(注意:co
是别名checkout
):
ramon@ramon-desktop:~/source/unstilted$ git branch -a
* develop
feature/datts_right
feature/user_controlled_menu
feature/user_controlled_site_layouts
master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/feature/datts_right
remotes/origin/master
ramon@ramon-desktop:~/source/unstilted$ git co feature/user_controlled_site_layouts
error: pathspec 'feature/user_controlled_site_layouts' did not match any file(s) known to git.
Run Code Online (Sandbox Code Playgroud)
我不确定这意味着什么,我似乎无法在Google上找到任何我能理解的内容.
如何查看该分支,以及我可以采取哪些措施来解决这个问题?
更新:
我找到了这个帖子,跑步git show-ref
给了我:
97e2cb33914e763ff92bbe38531d3fd02408da46 refs/heads/develop
c438c439c66da3f2356d2449505c073549b221c1 refs/heads/feature/datts_right
11a90dae8897ceed318700b9af3019f4b4dceb1e refs/heads/feature/user_controlled_menu
c889b37a5ee690986935c9c74b71999e2cf3c6d7 refs/heads/master
c889b37a5ee690986935c9c74b71999e2cf3c6d7 refs/remotes/origin/HEAD
e7c17eb40610505eea4e6687e4572191216ad4c6 refs/remotes/origin/develop
c438c439c66da3f2356d2449505c073549b221c1 refs/remotes/origin/feature/datts_right
c889b37a5ee690986935c9c74b71999e2cf3c6d7 refs/remotes/origin/master
23768aa5425cbf29d10ff24274adad42d90d15cc refs/stash
e572cf91e95da03f04a5e51820f58a7306ce01de refs/tags/menu_shows_published_only
429ebaa895d9d41d835a34da72676caa75902e3d refs/tags/slow_dev
Run Code Online (Sandbox Code Playgroud)
.git
目录上的UPDATE(user_controlled_site_layouts
在refs/heads/feature folder
)中:
$ ls …
Run Code Online (Sandbox Code Playgroud) 我试过了git branch -r
,但那只列出了我在本地跟踪的远程分支.我如何找到那些我没有的列表?(对我来说,命令是列出所有远程分支还是仅列出未跟踪的分支并不重要.)
一个很好而且简单的问题 - "git fetch"的功能是一个严格的子集git fetch --tags
吗?
即如果我跑git fetch --tags
,有没有理由立即直接跑git fetch
?
怎么样git pull
和git pull --tags
?同样的情况?
我尝试从GitLab克隆存储库(GitLab 6.6.2 4ef8369)并且错误:
remote: Counting objects: 66352, done.
remote: Compressing objects: 100% (10417/10417), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Run Code Online (Sandbox Code Playgroud)
如何避免这个错误?
我读了这个问题的答案,git fetch origin
应该取得所有原始分支.在我的情况下,它似乎并没有给我任何分支.这是我做的:
最初,一个名为origin的远程有7个分支.我克隆了它.git branch
然后只返回master
.我做了git fetch origin
,git branch
仍然只是表演master
.如何在不单独获取的情况下获取其他6个分支?
我试图遵循一些步骤来贡献GitHub上的存储库,其中一个步骤不起作用.步骤如下:https://github.com/wdbm/qTox/blob/master/CONTRIBUTING.md#how-to-open-a-pull-request.
我在GitHub上分叉存储库.
我克隆了存储库:
git clone https://github.com/<YOUR_USER>/qTox.git
Run Code Online (Sandbox Code Playgroud)
我访问本地存储库的目录:
cd qTox
Run Code Online (Sandbox Code Playgroud)
我添加了上游远程,以便能够从上游存储库中获取:
git remote add upstream https://github.com/qTox/qTox.git
Run Code Online (Sandbox Code Playgroud)
我尝试将本地主分支指向上游存储库:
git branch master --set-upstream-to=upstream/master
Run Code Online (Sandbox Code Playgroud)
此命令失败,并显示以下错误消息:
error: the requested upstream branch 'upstream/master' does not exist
hint:
hint: If you are planning on basing your work on an upstream
hint: branch that already exists at the remote, you may need to
hint: run "git fetch" to retrieve it.
hint:
hint: If you are planning to push out a new local branch that …
Run Code Online (Sandbox Code Playgroud) 我在bitbucket有回购.它有2个分支master和Branch9_Artiflex但是当我通过源代码树(源树中的克隆克隆)将这个repo克隆到我的本地repo时,我只能看到master分支.
在我的本地计算机上创建新分支Branch9_Artiflex并从远程Branch9_Artiflex中提取所有数据不起作用,因为它们具有不同的提交历史记录
我已经查看了类似问题的其他问题.
但他们似乎说答案是 git fetch --all
.
但就我而言,它不起作用.
这就是我为它所做的.
> git branch
* master
> git branch -r
origin/master
origin/A
> git fetch --all
> git branch
* master #still not updated
> git fetch origin/A
fatal: 'origin/A' 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.
> git fetch remotes/origin/A
fatal: 'origin/A' does not appear to be a git repository
fatal: …
Run Code Online (Sandbox Code Playgroud) 我无法让Git在遥控器上获取新的分支.git remote show
不会显示除master之外的任何分支存在,但git ls-remote
证明它们存在.
示例:git ls-remote
显示分支homodyne_process存在 -
$ git ls-remote origin
b935ee960a588144d3df0f08a82b81ea705c7543 HEAD
f11bd3ac9c2345a12edb9d49cd5bd027616b2226 refs/heads/homodyne_process
b935ee960a588144d3df0f08a82b81ea705c7543 refs/heads/master
Run Code Online (Sandbox Code Playgroud)
获取更新并显示远程分支
$ git fetch
$ git remote show origin
* remote origin
Fetch URL: gitolite@git.uio.no:***
Push URL: gitolite@git.uio.no:***
HEAD branch: master
Remote branch:
master tracked
Local branches configured for 'git pull':
master merges with remote master
Local refs configured for 'git push':
homodyne_process pushes to homodyne_process (fast-forwardable)
master pushes to master (up to date)
$ git branch …
Run Code Online (Sandbox Code Playgroud) 我有一个裸存储库,它origin
在远程机器上。
我想将其分支下载到本地裸仓库中。即我想git branch -vva
在分支列表中使用命令查看它们,如下所示:
* master 0bc84f0 [origin/master] something...
remotes/origin/HEAD -> origin/master
remotes/origin/master 0bc84f0 something...
Run Code Online (Sandbox Code Playgroud)
在非裸git pull --all
存储库的情况下,分支也同步(它使远程分支在本地存储库中可见),但在裸存储库的情况下,拉取是不可能的。
在这种情况下如何同步远程分支?
注意:git --fetch
不起作用,远程分支在它之后仍然不可见:
$ git remote -v
origin git://host/project.git (fetch)
origin git://host/project.git (push)
$ git branch -vva
* master 4085a31 ...something
$ git fetch
From git://host/project.git
* branch HEAD -> FETCH_HEAD
$ git branch -vva
* master 4085a31 ...something
Run Code Online (Sandbox Code Playgroud)
附加信息:我config
的如下:
[core]
repositoryformatversion = 0
filemode = false
bare = true
symlinks = …
Run Code Online (Sandbox Code Playgroud) 我是git的新手,并试图围绕分支的工作方式.根据文档git checkout
更新工作树中的文件以匹配索引或指定树中的版本.如果>没有给出路径,git checkout也会更新HEAD以将指定的分支设置为>当前分支.
所以据我所知,我工作的目录中的文件(我执行git init的文件)应该根据我所在的分支进行更改.我很困惑,因为当我在分支之间切换时不会发生这种情况.在切换分支之前我正在编辑的编辑存在于我切换到的分支中.我做错了什么或git checkout不能这样工作,我只是误解了文档?
git ×13
branch ×2
git-fetch ×2
bitbucket ×1
clone ×1
fetch ×1
git-branch ×1
git-checkout ×1
git-clone ×1
git-tag ×1
gitlab ×1
pull ×1
sourcetree ×1