GIT - 如何处理存储库以及在制作它们之后我可以在哪里找到它的分支

时间:2017-04-23 14:08:11

标签: git

这是我与GIT的第一天,所以我有几个基本问​​题。

1)假设我有一个名为" Projects"而且里面有20个不同的项目供不同的客户使用,等等。其中"项目-1"和"项目-2"。

我应该在哪里建立我的存储库? "项目"或者我应该单独从每个文件夹中创建一个存储库?

2)好的,我做了一个回购。现在我想做一个分支,我成功了。现在我在哪里可以看到我的分支文件?我希望在回购中有不同的文件夹 - 主分支和我在此过程中创建的其他文件夹。

2 个答案:

答案 0 :(得分:3)

你显然是从svn或者喜欢 svn的东西来git。

在svn中,一切都基于文件夹 - 分支,标签和存储库都成为文件夹;您的仓库中的每个子文件夹都可以有效地成为它自己的仓库,依此类推。

根据我的经验,版本控制模型对于svn来说是独一无二的。您不能在其他地方应用相同的模型。

Git,特别是基于提交(实际上,对象,其中提交是一种对象,但是为了更容易的心理模型开始,让我们考虑一下提交)< / p>

您的存储库是提交树。与svn不同,提交可以有多个父级。

与svn不同,Git也是分布式的,即使你以集中式存储库类型的方式使用它,这种区别也很重要。当你推送和拉入git时,你只是将你拥有的提交树与一些远程提交树同步。

然而在svn中你有一个存储库,并且你在本地有一个工作副本,在git中,你克隆了存储库。你在本地拥有的是一个独立的存储库,它可以拥有自己的提交和分支,而其他人可以克隆。

所以(最后)回答你的问题:

  1. 为多个项目提供单个存储库的想法是因为在svn中,子目录和不同的存储库之间通常没有区别。 git不是这样,你绝对应该为每个项目都有一个单独的存储库。
  2. 在git中,分支只是应用于项目提交树中特定提交的标签。提交,标签等会在您的存储库根目录.git中的某处松散;直接查看这些文件通常没有帮助,而是使用git branch之类的命令列出分支或git checkout来更改分支。
  3. 如果你想更深入地了解git是如何工作的,我建议你阅读一些Git from the inside out。没有必要使用 git,但我发现有一个相当准确的git做错的心理模型使得它的行为不那么令人惊讶。

答案 1 :(得分:1)

1)为不同的项目提供单独的Git存储库是一种常见做法。这意味着您可以单独开发每个项目,而不必担心覆盖对一个项目所做的更改,如果您必须将更改还原为另一个项目。

2)如果你是Git的新手,我暂时不会担心分支机构。如果您确实创建了分支,则无法在单独的文件夹中看到它们。跟踪分支的魔力隐藏在每个存储库的.git文件夹中。

您可以通过键入git branch来查看您所在的分支。您可以使用git branch -a查看所有分支。