Git添加所有子目录

Jos*_*ley 69 git repository git-add

我无法将文件夹及其所有子目录添加到我的git存储库中.我意识到这是一个非常受欢迎的问题,在做了一些谷歌搜索,我已经尝试了每个建议没有运气,特别是git-add上手册页的建议.我甚至尝试git add -A过没有成功.为简单起见,假设我将我的git存储库初始化为Dir1.然后我有以下目录结构的文件.

Dir1/file1-1.txt
Dir1/file1-2.txt
Dir1/Dir2/file2-1.txt
Dir1/Dir2/Dir3/file3-1.txt
Run Code Online (Sandbox Code Playgroud)

我的真实文件有超过5-6级深度的子​​目录,那么是否有一个git命令将每个子目录中的所有文件添加到我的存储库中?现在,当我从手册页中做出建议时,git add Dir1/\*我可以Dir2在我的仓库中看到,但它显示为绿色文件夹,我无法打开它,这让我相信所有的文件/文件夹都Dir2没有得到添加.任何帮助将不胜感激.我是一个新的git用户(使用它的时间不到一周),所以请尝试将你的说明保持在初学者的水平.

Kal*_*kki 94

做,

git add .
Run Code Online (Sandbox Code Playgroud)

而在存储库的根目录中.它会添加一切.如果这样做git add *,它只会添加文件*点.单点指的是目录.

如果在上面的命令之后没有将你的目录或文件添加到git index/repo,请记得检查它是否被.gitignore文件中的git标记为忽略.

  • 试过这个.还是行不通.我做了git add.git commit git push origin master我错过了什么? (7认同)
  • 我试过"git add".但它没有用.第二天,我回去试试,所有的一切都"正常",谢谢!当灯光恢复时,它一定是那些午夜的错误之一. (5认同)
  • 假设你的文件在Dir1下,你应该做`cd Dir1; git init; git add.; git commit;`不需要其他任何东西.如果你有.gitignore忽略某些目录中的文件并仍想添加它们,你需要做`git add -f .`而不是`git add .`. (3认同)
  • git add.不起作用,它不递归添加子目录及其内容. (2认同)

Pau*_*ulB 11

如果一个子目录本身是一个git存储库,你也可能遇到问题 - 即.has .git目录 - 检查ls -a.

要删除转到子目录和rm .git -rf.

  • 在OSX 10.11.6终端上使用:rm -rf .git (2认同)
  • 是不是一样? (2认同)

Sha*_*pta 9

简单方案:

git rm --cached directory
git add directory
Run Code Online (Sandbox Code Playgroud)


小智 5

也很挣扎,但打字正确

git add -f ./JS/*

其中JS是我的文件夹名称,其中包含子文件夹和文件

  • 它可以添加被忽略的文件并在存储库中乱七八糟. (2认同)
  • `git add ./JS` 是正确的用法。它将添加目录中的所有文件以及仍然关心被忽略文件的所有子目录。 (2认同)