如何将父目录添加到git repo

时间:2014-11-21 12:37:54

标签: git

我是git的新手,所以请轻松一点。我有一个具有以下结构的项目:

~/proj
~/proj/dir1
~/proj/dir2

我创建了一个git repo(在Bitbucket上),我想将所有proj /导入repo(包括proj)。这样做的正确方法是什么?我找到的所有说明都告诉你cd proj/; git init . ; git add *;这会将每个子目录(dir1,dir2)添加到repo但不添加proj。如何添加proj及其子目录?

我总是能够在颠覆中做到这一点,但无法用git解决这个问题。理想情况下,当有人克隆项目时,他们将获得proj /及其所有子目录。

3 个答案:

答案 0 :(得分:2)

如果您的存储库只应包含proj文件夹,而其他任何内容都不在同一级别,那么正确的方法是使proj存储库。您可以按照这些说明执行此操作,即在git init文件夹中调用proj

这样,当人们克隆你的存储库时,他们会自动获得一个与存储库同名的文件夹,然后包含所有的东西。例如:

git clone git@bitbucket.com/username/proj

这将自动创建一个文件夹proj,其中放置了存储库内容。如果你现在拥有另一个子文件夹中的所有内容,他们必须cd proj/proj才能真正到达那里。这就是为什么你可能不应该在那里添加另一个目录级别。

但是,如果您希望proj旁边的存储库中的其他文件夹(在同一级别),那么将父文件夹设置为存储库并在其中添加文件夹可能是有意义的。但请注意,通常,您希望为每个单独的项目创建一个存储库。因此,如果您有projproj2,则应创建两个存储库,每个存储库包含一个项目。

答案 1 :(得分:1)

创建父目录。使用git mv将文件夹移动到父目录

答案 2 :(得分:0)

创建一个新的父目录并移动其他目录:

$ mkdir parent
$ mv dir1 dir2 dir3 parent
$ git rm -r dir1 dir2 dir3
$ git add parent/*

然后使用git status进行检查。