有人推了一个分行test
与git push origin test
共享仓库的共享仓库。git branch -r
如何查看遥控器test
我试过了
git checkout test
,它没有做任何事情git checkout origin/test
给给* (no branch)
有人推了一个分行test
与git push origin test
共享仓库的共享仓库。git branch -r
如何查看遥控器test
我试过了
git checkout test
,它没有做任何事情git checkout origin/test
给给* (no branch)
当前回答
你基本上看到了树枝,但你还没有本地的拷贝!
你需要,你需要fetch
分支...
您可以简单地获取并退出分支, 使用下面的一条线命令来做到这一点 :
git fetch && git checkout test
我还创建了下面的图像 让你分享差异,看看如何fetch
以及它是如何与pull
:
其他回答
这将DWIM DEWIM DEWIM DEWIM DEWIM DEWIM DEWIM DEWIM DEWIM DEWIM DIWIM DEWIM DIWIM DIWWM DI DIWIM DI DIWIM DI DIWIM DI DIWM DIWIM DI DIWM DI DI DIWIM DI DI DIWM远程未命名来源( 用于远程未命名来源) 。文档文件文件):
$ git checkout -t remote_name/remote_branch
要添加一个新的远程, 您需要首先做以下操作 :
$ git remote add remote_name location_of_remote
$ git fetch remote_name
第一个告诉Git 遥控器存在, 第二个得到承诺。
如果该分支所在的事物上不是其他的,origin
我喜欢做以下工作:
$ git fetch
$ git checkout -b second/next upstream/next
这将检出next
分支上upstream
远程连接到一个本地分支,该分支被调用second/next
。这意味着,如果您已经拥有下一个命名为本地分支的分支,则不会发生冲突。
$ git branch -a
* second/next
remotes/origin/next
remotes/upstream/next
我不确定,我日复一日地做这个,下面的命令就像宝石一样
dev ,dev ,dev ,dev ,dev ,dev是您想要检查的分支 。
git fetch && git checkout dev
工作命令
git fetch origin 'remote_branch':'local_branch_name'
git switch 'local_branch_name'
git pull origin 'remote_branch':'local_branch_name'
第一个是从远程分支获取分支和创建本地分支。
第二个是转换到当地分行。
第三是将最近的远距离变化推到当地分部。
TL; DR TR; TL; TDR
使用git switch
而不是git checkout
。更多详情见此页面上的.
我认为答案是过时的。checkout
至switch
和restore
现在。
以下是我的总结:
如果您想要为远程分支更新一些内容, 您应该创建一个本地分支以“ 跟踪” 远程分支 。 您可以在本地更新任何您想要更新的内容, 并最终推到远程 。 如果您在克隆您的仓库后直接检查到远程分支, 您可能会看到“ 忽略的 HEAD” 状态, 以及 Git 的下列消息 :
Note: switching to 'origin/asd'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at d3e1083 Update a
那么,我们如何建立本地分支来追踪远程分支呢?
要创建本地分支以跟踪远程分支, 您可以使用git checkout <remote branch name>
或git switch <remote branch name>
。如果您有一个文件或文件夹的名称与您的远程分支名称相同,git checkout
将输出一些错误消息, 但是git switch
可以正常工作! 正常工作! 正常工作!
示例:
查看所有分支, 我们想要创建一个本地分支, 跟踪远程分支remotes/origin/asd
,我们也有文件名asd
:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/asd
remotes/origin/ereres
remotes/origin/master
remotes/origin/zxc
$ ls
a asd
文件名与远程分支相同, 如果我们使用 Git , Git 应该输出一些错误信息git checkout
创建本地分支以跟踪远程分支
$ git checkout asd
fatal: 'asd' could be both a local file and a tracking branch.
Please use -- (and optionally --no-guess) to disambiguate
如果我们用它,它就会有效git switch
!
$ git switch ereres
Branch 'ereres' set up to track remote branch 'ereres' from 'origin'.
Switched to a new branch 'ereres'
$ git branch -vv
* ereres 3895036 [origin/ereres] Update a
master f9e24a9 [origin/master] Merge branch 'master' of