新的分支总是指向主人

时间:2015-06-25 13:27:35

标签: git github

我正在阅读文档,并在为我的分叉本地仓库创建新分支时按照本书执行所有操作,但无论我创建了多少个新分支,头部都会指向主人,即使我有10个分支,改变一个会影响所有这些。 它很容易删除目录并再次克隆repo,我通常如何处理这些问题,但一次我想尝试解决问题。任何帮助表示赞赏

制作分支

git checkout -b *branchname* 

挠头

git branch -v 

一切都指向一个地方

53f61b4 Merged *repository name* into master

现在做了一些更改之后,让我们在分支 branchname 上说,如果我切换回主页,则不提交任何更改

git checkout master

它显示了 branchname

中所做的更改

1 个答案:

答案 0 :(得分:3)

创建分支时,它指向启动的提交。如果您使用git checkout -b <branchname>,则该提交只是HEAD。

直到您实际向分支机构提交新内容,它才会与您的其他分支机构分道扬..分支是标签,有些可以指向同一个地方。仅创建分支不会生成空提交或任何内容。

这是详细描述in the documentation - 甚至还有一张图片显示了这种情况。

关于您的编辑 - 首先:

  

现在做了一些更改之后,让我们说分支branchname,而不是提交任何更改,如果我切换回master ...它显示了在branchname中所做的更改

你是什么意思它显示?有什么表现?你输入了什么?你在一些未说明的假设中隐藏了你的实际问题。除非你说你做了什么,以及实际发生了什么,否则人们很难帮助你。

其次:

  

...它显示了在branchname中所做的更改

不,不,不。你还没有说出你实际看到的内容,但是如果你没有提交任何内容,在任何一个分支上都没有

您所做的就是修改您的工作副本。这些只是普通的本地文件。

由于两个分支都指向同一个提交,因此您可以在不触及工作副本的情况下自由切换它们。直到你提交它们,虽然这些更改不属于任何分支,甚至没有真正受到git的控制。它们只是本地文件。

使用git add暂存索引中的更改,然后查看尝试切换分支时会发生什么。

通常,您需要为git添加和提交更改以跟踪它们。