我是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 /及其所有子目录。
答案 0 :(得分:2)
如果您的存储库只应包含proj
文件夹,而其他任何内容都不在同一级别,那么正确的方法是使proj
存储库。您可以按照这些说明执行此操作,即在git init
文件夹中调用proj
。
这样,当人们克隆你的存储库时,他们会自动获得一个与存储库同名的文件夹,然后包含所有的东西。例如:
git clone git@bitbucket.com/username/proj
这将自动创建一个文件夹proj
,其中放置了存储库内容。如果你现在拥有另一个子文件夹中的所有内容,他们必须cd proj/proj
才能真正到达那里。这就是为什么你可能不应该在那里添加另一个目录级别。
但是,如果您希望proj
旁边的存储库中的其他文件夹(在同一级别),那么将父文件夹设置为存储库并在其中添加文件夹可能是有意义的。但请注意,通常,您希望为每个单独的项目创建一个存储库。因此,如果您有proj
和proj2
,则应创建两个存储库,每个存储库包含一个项目。
答案 1 :(得分:1)
创建父目录。使用git mv
将文件夹移动到父目录
答案 2 :(得分:0)
创建一个新的父目录并移动其他目录:
$ mkdir parent
$ mv dir1 dir2 dir3 parent
$ git rm -r dir1 dir2 dir3
$ git add parent/*
然后使用git status
进行检查。