2011-06-03 304 views
1

我是新来的git,使用svn多年。 我创造了我的主人,然后从“主”目录中创建一个分支:为什么我的新Git分支是空的?

git branch Dev 
git checkout Dev 

但不必须与它相关的任何文件分支。我认为它是我对git分支的误解。有人想解释吗?当我在svn创建一个分支时,我得到了一个完整的回购值得的东西。

+2

您创建了主人并且...您是否向仓库添加了任何文件? ('git add','git commit') – 2011-06-03 19:29:25

+1

关于Git和SVN如何处理合并以及扩展和分支的不同背景,我强烈建议你[阅读这个问题的答案](http:///stackoverflow.com/questions/2471606/how-and-or-why-is-merging-in-git-better-than-in-svn)。 – 2011-06-03 19:29:59

+0

@piotr,我认为它仍然会显示文件为untracked,没有消失... – 2011-06-04 01:58:51

回答

2

分支是git中的一个逻辑概念,它们不像物理存在于文件系统中一样颠覆。如果你想分支的主人,你需要输入

git checkout -b NEW_BRANCH_NAME 

这将创建一个新的分支,并将其设置为你的工作分支。要切换回掌握

git checkout master 

你也可以看到你拥有所有分支的列表做

git branch -a 
1
git checkout -b dev 

签出的名字开发的一个分支,并自动切换你吧。

git checkout master 

移动你回到主分支

git branch -a 

会告诉你所有的分支你有

+0

我做了所有的分支,但这只是一个空分支?我想到当我将主人分成开发者时,开发者会拥有相同的文件?所以我可以在这些文件的私人版本上工作并在以后合并。我有一个主人,创建了一个分支,并切换到它... – mike628 2011-06-03 19:49:32

+1

是的,当你签出一个分支时,它会创建一个与你从分支分支相同的分支。你所说的问题不应该删除任何文件。尝试做一个git分支-a找出你在哪个分支上。您可能会从pro-git.org上的阅读中受益 – 2011-06-04 01:57:55

0

分支的概念几乎相同SVN,但他们的处理方式是完全不同。由于您的本地机器上的回购是完全回购,它可以拥有与您的远程机器不同的分支机构。您将推动分支机构进出遥控器以获取并更改分支机构。

要开始一个分支在说'你的'主'分支的头修订版,首先确保你git checkout master然后键入git branch develop开始一个新的分支,开发,与相同的头修订。 Git会改变文件系统来反映你的新分支。

相关问题