递归地将整个文件夹添加到存储库

时间:2013-07-19 10:11:18

标签: git github

我正在尝试将分支添加到GitHub上的主分支,并将文件夹推送到该分支。

分支的文件夹结构如下所示 - SocialApp / SourceCode / DevTrunk / SocialApp和所有源代码文件都在最后一个文件夹中。

我正在使用以下Git命令:

git add *
git commit -m with the message
git push

这只是将第一个文件夹“SocialApp”推送到GitHub并忽略该文件夹中的文件夹SourceCode。我该如何解决这个问题?

14 个答案:

答案 0 :(得分:315)

如果忽略子目录,请检查.gitignore文件。

然后再试一次

git add --all
git commit -am "<commit message>"
git push

答案 1 :(得分:27)

SETUP - 本地服务器上的本地存储库 - 客户端通过LAN连接到本地服务器

git add foldername/\\*

要进入服务器......

git commit -m "comments..."
git push remote_server_name master

通常,用户会将remote_server_name指定为origin ...

git remote add remote_server_name username@git_server_ip:/path/to/git_repo

答案 2 :(得分:21)

这对我有用:

git add . --force

答案 3 :(得分:16)

从顶级目录调用的“git add *”和“git add SocialApp”应该递归地添加所有目录。

可能你在SocialApp / SourceCode / DevTrunk / SocialApp中没有文件,这就是原因。

尝试调用“touch SocialApp / SourceCode / DevTrunk / SocialApp / .temporary”(并检查.gitignore),然后再次尝试git add。

答案 4 :(得分:13)

在我的情况下,子目录中有一个.git文件夹,因为我之前已经初始化了一个git repo。当我添加子目录时,它只是将其添加为子项目而不添加任何包含的文件。

我通过从子目录中删除git存储库然后重新添加文件夹来解决了这个问题。

答案 5 :(得分:5)

我遇到了这个花了我一点时间的问题,然后想起git不会存储空文件夹。请记住,如果您想要存储一个文件夹树,请将文件至少放在该树的最深文件夹中,例如名为&#34; .gitkeep&#34;的文件,只是为了影响git的存储。

答案 6 :(得分:5)

如果要以递归方式添加目录及其中的所有文件,请转到要添加的目录所在的目录。

$ cd directory
$ git add directoryname

答案 7 :(得分:3)

我只是用这个:

git add app/src/release/*

您只需要指定要添加的文件夹,然后使用*递归添加其中的所有内容。

答案 8 :(得分:2)

场景/解决方案1:
确保您的Folder / Sub-folder不在.gitignore文件中。


场景/解决方案2:
默认情况下,git add .递归工作。


场景/解决方案3:
git add --all :/正常工作,而git add .无法正常工作。
(@ JasonHartley的评论)


场景/解决方案4:
我个人面临的问题是添加Subfolders or Files,这在多个Folders之间很常见。

例如:
Folder/Subfolder-L1/Subfolder-L2/...file12.txt
Folder/Subfolder-L1/Subfolder-L2/Subfolder-L3/...file123.txt
Folder/Subfolder-L1/...file1.txt

因此Git推荐我添加git submodule,我尝试过但很痛苦。


最后对我有用的是:

1. git add的一个文件,位于Folder的末尾/级别。
例如:
git add Folder/Subfolder-L1/Subfolder-L2/Subfolder-L3/...file123.txt

2.现在git add --all :/
很快添加所有的FoldersSubfoldersfiles


答案 9 :(得分:0)

有时候,我想将我的Web服务源代码及其客户端项目包括在内。他们两个都有一个单独的git仓库。 我实际上习惯于使用以下命令添加所有文件:

git add -A

但是由于某些原因,它仅添加文件夹。后来我发现服务器文件中也有.git文件夹,因此该命令不起作用。

tl; dr :请确保要暂存的文件夹中没有.git文件夹。

答案 10 :(得分:0)

我也有同样的问题,我没有.gitignore文件。我的问题已通过以下方式解决。这占用了所有子目录和文件。

git add <directory>/*

答案 11 :(得分:0)

我只需要这样做,我发现您可以轻松地在子目录中添加文件。您只需要位于仓库的“顶层目录”,然后运行类似的内容即可:

$ git add ./subdir/file_in_subdir.txt

答案 12 :(得分:0)

git add --all my/awesome/stuff/为我工作。 [1]

  1. https://git-scm.com/docs/git-add

答案 13 :(得分:-2)

这对我有用

Dim cn As ADODB.Connection
Dim Server_Name As String
Dim Database_Name As String
Dim User_ID As String
Dim Password As String
Dim SQLStr As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
'Login vao SQL Server
Server_Name = "xxxxxx" ' Enter your server name here
Database_Name = "INPUT" ' Enter your database name here
User_ID = "sa" ' enter your user ID here
Password = "xxx" ' Enter your password here

Set cn = New ADODB.Connection
cn.Open "Driver={SQL Server};Server=" & Server_Name & ";Database=" & Database_Name & _
";Uid=" & User_ID & ";Pwd=" & Password & ";"
'---------------- lenh lay SQL data
Sheets("HT1").Select
Sheets("HT1").Cells.Delete
'Lay du lieu tu Procedure
SQLStr = "exec [INPUT].[dbo].[Giaodichkhachhang]"
rs.Open SQLStr, cn, adOpenStatic