如何在git存储库中创建新的子文件夹?

时间:2015-03-25 06:45:50

标签: git github

我有一个在新子目录中添加现有仓库的文件...假设我有一个文件夹work的仓库http://myrepo.git,我必须在文件夹subject下添加新文件work。我找到了解释如何将项目添加到repo的文档:

cd subject
git init
git add .
git commit
git remote add origin http://myrepo.git
git remote -v; git push origin master

但这似乎是为了将我的文件添加到myrepo.git,我该如何保留 myrepo.git/work/subject目录结构? 感谢

3 个答案:

答案 0 :(得分:1)

您无法将空目录添加到git。

一般的解决方法是添加一个空文件.gitkeep并将其添加到git:

touch work/subject/.gitkeep
git add work/subject/.gitkeep
git commit -am "Add directory subject"

这样一来,该目录就会存在,而且你知道一旦你在这个目录中有其他文件就可以删除它。

答案 1 :(得分:1)

  

我有一个在新子目录中添加文件到现有的repo ...

     

"主题"目录不为空,我有几个新文件

我认为你完全错了,没有必要创建一个新的git存储库并向其添加文件。相反,您可以将文件添加到原始仓库本身:

git clone  myrepo.git
cd work 
mkdir subject && cd subject && touch file1 file2 #touch is equivalent to new files added
git add . && git commit -m "some message"
git push origin master

以上内容应该将您的更改推送到远程,并且您可以清楚地看到,此过程中没有创建新的仓库。

答案 2 :(得分:0)

知道了,我的错误就是mu说的:试着用git init添加它作为新的repo ..

 git clone myrepo.git
 cd work && mkdir subject && cp myfiles to subject && cp subject
 git add . && git commit -m "some message"
 git push 

这会将myfiles推入work / subject

下的myrepo.git