git - 如何在初始 git add 期间添加所有文件而不添加任何目录?

标签 git

假设我有一个目录,其中有一堆文件和 git 中的其他目录。

如果我这样做

git init .
git add .

我会将所有内容(包括目录)添加到我的 git 存储库中。 但是,如果我只想添加当前目录中的文件(不递归遍历目录),有没有非手动的方式来做到这一点?

手动方法是使用另一个工具挑选文件并在这些文件上运行 git-add 。

最佳答案

不幸的是,Git 没有这样的内置功能。 不过,您可以使用 shell 循环轻松完成此操作。假设您使用的是 bash,这可以工作:

#!/bin/bash

for f in `ls -A`; do
    if [ -f $f ]; then
        git add $f
    fi
done

这将添加当前目录中的所有文件。

请注意,像所有 bash 脚本一样,如果您只需要一次,可以将其写在一行上:
for f in $(ls -A); do if [ -f $f ]; then git add $f; fi; done

这只是一个概念验证脚本,当然可以改进;例如它可以首先构建一个列表,然后调用 git add一旦出现在该列表中。

关于git - 如何在初始 git add 期间添加所有文件而不添加任何目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16992479/

相关文章:

git merge 重复冲突

git - 如何正确获取 go build 的返回码?

git - 如何管理与 git 子模块的冲突?

Git 推送/克隆到新服务器

git - Emacs git 插件 - egg

git - 为什么我在 git 上得到 ssh_exchange_identification : Connection closed by remote host?

git - Docker 上带有 Alpine Linux 的 Apache git 服务器

git - Git 区分大小写

客户端证书失败并使用 curl 的 GIT

python - 从 git 安装 pip 与克隆存储库