相关疑难解决方法(0)

Git:什么是跟踪分支?

有人可以解释一个"跟踪分支",因为它适用于git?

这是git-scm.com的定义:

Git中的"跟踪分支"是连接到远程分支的本地分支.当您按下并拉动该分支时,它会自动推送并拉到与其连接的远程分支.

如果您始终从同一个上游分支拉入新分支,并且您不想明确使用"git pull",请使用此选项.

不幸的是,对于git和来自SVN的新手来说,这个定义对我来说绝对没有意义.

我正在阅读" Git的实用指南 "(顺便说一句好书),他们似乎建议跟踪分支是一件好事,并且在创建第一个遥控器(原点,在这种情况下)后,你应该将您的主分支设置为跟踪分支,但遗憾的是,它不包括为什么跟踪分支是一件好事,或者通过将主分支设置为原始存储库的跟踪分支而获得的好处.

有人可以赐教(英文)吗?

git version-control branch

144
推荐指数
5
解决办法
9万
查看次数

'git pull origin mybranch'离开本地mybranch N承诺原产地.为什么?

我刚看到一些奇怪的事情git pull,我不明白.

星期五,我在一家当地分公司工作.我们称之为mybranch.在离开办公室之前,我把它推到原点(这是我的GitHub库)git push origin mybranch.

昨天在家里,我把pullmybranch写到我的笔记本电脑上,做了一些编码,然后将我的更改推回到github(原点).

现在我再次上班,并试图将改变从昨天拉到我的工作机器上(周末我的工作地点的本地回购没有改变):

git pull origin mybranch
Run Code Online (Sandbox Code Playgroud)

这导致了快速合并,这很好.然后我做了一个git status,它说:

# On branch mybranch
# Your branch is ahead of 'origin/mybranch' by 6 commits.
#
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)

咦?如果我周末没有触摸它,只是从原点拉出来,它怎么能提前6次?所以我跑了一个git diff origin/mybranch,差异就是我刚刚从远程拉出来的6个变化.

我只能通过运行来"修复"这个git fetch origin:

From git@github.com:me/project
af8be00..88b0738  mybranch -> origin/mybranch
Run Code Online (Sandbox Code Playgroud)

显然,我的本地仓库缺少一些参考对象,但这怎么可能呢?我的意思是,一个pull已经进行了一次获取,除了那个分支之外我没有处理任何事情,所以a git fetch origingit fetch origin mybranch应该有相同的结果吗?

我应该总是用git pull origin而不是git pull origin branchname …

git version-control git-pull

91
推荐指数
1
解决办法
3万
查看次数

很难理解git-fetch

我很难理解git-fetch的细微差别.我知道做一个fetch,将远程refs提取到本地跟踪分支.

我有几个问题:

  1. 是否有可能本地跟踪分支不存在?如果是,那么它会自动创建吗?

  2. 如果我执行fetch并指定非跟踪分支作为目标,会发生什么?

  3. git-fetch的手册页指定:

    git-fetch <options> <repository> <refspec>
    
    Run Code Online (Sandbox Code Playgroud)

我如何使用refspec从远程主站获取内容到其远程跟踪分支?我相信如果我现在的HEAD在主人身上并且我跑了,这可能是可能的

git fetch origin master

但是,我可以使用<+?src:dest>refspec来实现同样的目的吗?我认为这将有助于我更好地理解这些概念.

还有一个问题:

我的.git/config文件有以下行用于获取(仅显示相关行):

fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)

有人可以解释这条线的确切含义吗?

git git-fetch

52
推荐指数
3
解决办法
3万
查看次数

标签 统计

git ×3

version-control ×2

branch ×1

git-fetch ×1

git-pull ×1