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

我试图在GitHub上添加一个分支到主分支,并将一个文件夹推到该分支上。

分支的文件夹结构看起来像- SocialApp/SourceCode/DevTrunk/SocialApp和所有的源代码文件都在最后一个文件夹

我正在使用以下Git命令:

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

这只是将第一个文件夹“SocialApp”推到GitHub上,而忽略了文件夹内的文件夹SourceCode。我怎么解决这个问题?

612600 次浏览

从top directory调用“git add *”和“git add SocialApp”都应该递归添加所有目录。

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

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

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

然后再试一次

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

设置

  • 本地服务器上的本地存储库
  • 客户端通过局域网连接到本地服务器

更新(2020年9月):使用foldername/\*代替foldername/\\*:

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

这招对我很管用:

git add . --force

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

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

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

如果您想递归地添加一个目录和其中的所有文件,请转到要添加的目录所在的目录。

$ cd directory
$ git add directoryname

导航到文件夹,你的文件
如果你是在windows机器上,你将需要启动git bash,从中你将得到一个命令行界面,然后使用这些命令

git init   //this initializes a .git  repository in your working directory


git remote add origin <URL_TO_YOUR_REPO.git> // this points to correct repository where files will be uploaded


git add *   // this adds all the files to the initialialized git repository

如果您在将文件合并到主文件之前对其进行了任何更改,则必须通过执行提交更改

git commit -m "applied some changes to the branch"

在这之后,将分支签出到主分支

有时我想将我的web服务源代码与其客户端项目一起包含。它们都有独立的git存储库。 我实际上习惯使用命令添加所有文件:

git add -A

但出于某种原因,它只添加了文件夹。后来我发现服务器文件中也有.git文件夹,所以这个命令不起作用。

博士tl;:确保在你要运行的文件夹中没有.git文件夹。

我简单地用了这个:

git add app/src/release/*

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

我也有同样的问题,我没有。gitignore文件。我的问题用下面的方法解决了。这占用了所有子目录和文件。

git add <directory>/*

这对我很有效

git add -f *
< p > 场景/方案一: < BR > 确保你的Folder / Sub-folder不在.gitignore文件中。


< p > 场景/方案二: < BR > 默认情况下,git add .递归工作。


< p > 场景/方案三: < BR > git add --all :/工作顺利,而git add .不能(工作)


< p > 场景/方案四: < BR > 我个人面临的问题是添加Subfolders or Files,这在多个Folders.

例如< p >:
Folder/Subfolder-L1/Subfolder-L2/...file12.txt
Folder/Subfolder-L1/Subfolder-L2/Subfolder-L3/...file123.txt
Folder/Subfolder-L1/...file1.txt < / p > 所以Git建议我添加git submodule,我尝试了,但很痛苦。


最后对我有用的是: < BR > < BR > 1. git add一个文件,在Folder的最后一个结尾/级别。
例如:
git add Folder/Subfolder-L1/Subfolder-L2/Subfolder-L3/...file123.txt < BR > < BR > 2. 现在git add --all :/。 它将非常迅速的添加所有的FoldersSubfoldersfiles


我只需要这样做,我发现可以很容易地在子目录中添加文件。你只需要在“顶级目录”;,然后运行如下代码:

$ git add ./subdir/file_in_subdir.txt

git add --all my/awesome/stuff/适合我。[1]

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