如何自动将新文件添加到Git?

9

我知道我可以对所有文件执行git add,但是我有很多文件。是否有一种方法可以执行类似于“git add *.h”或“git add *.py”的操作?


2
"git add ." 应该就可以了。 - PurplePilot
1
请注意,git add . 将添加所有未在 .gitignore 中的内容。 - hammar
你的意思是人们运行git而不使用.gitignore吗?我感到非常沮丧!;-) 当然,对我来说,谜题是为什么Hisoka似乎知道他应该做什么,却没有设置一个测试git repo并尝试自己的建议呢?但是这就是现实。 - PurplePilot
实际上,这可能是一个更大的问题的一部分。我在同一个目录中执行了“git add .”和“git commit -a”。但是当我执行git push时,它会显示:fatal: No destination configured to push to. - Henley
1
@Hisoka:这个问题与那个问题无关,它们是完全独立的。该错误的意思就是它所说的。你试图推送到哪个远程仓库?显然是Github。但你的仓库不知道这一点。你需要做类似于 git remote add origin git@github.com:hisoka/myrepository.git 的操作,假设它已经在Github上设置好了。 - Cascabel
显示剩余2条评论
3个回答

7

你可以说 git add *.py 确保在此之前已经运行了 git init

要添加一个文件夹中的所有文件,只需运行 git add .


4
你可以像这样引用它:git add '*.py',Git 将添加所有子目录中匹配的文件。 - Josh Lee
实际上,这可能是一个更大的问题的一部分。我在同一个目录中执行了“git add .”和“git commit -a”。但是当我执行git push时,它会显示:fatal: No destination configured to push to. - Henley

6
当您使用类似于*.py的东西时,您必须了解shell正在进行扩展而不是git。它不会考虑子目录的扩展,并且最终会添加被忽略的文件,这可能不是您想要的(默认情况下,git add不会添加被忽略的文件,除非明确指定该文件,这是当shell扩展发生时的情况)。
您可以像下面这样做:
git add /\*.py

在这里,星号 * 是从shell中引用的,它将包括子目录中的文件。这样你就不会把被忽略的文件也添加进去了。
不建议使用 git add .,因为你不知道会添加什么内容。我不建议这样做。
至于你在推送时遇到的另一个问题,首先你必须有一个正确的远程设置:
git remote add origin yourremoterepourl

3

git add .会递归地将当前目录及其子目录中的所有文件(包括新文件和编辑过的文件)添加到git repo中。注意,.可以替换为当前git repo中的任何目录。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接