2011-07-07 151 views
110

我将源代码控制添加到没有任何项目的项目。问题是,有很多文件最初添加到git与10.gitignore文件,但我不知道如何添加所有文件,而不包括文件匹配.gitignore文件中的东西。因为它可以检测由的.gitignore忽略的文件git添加除忽略.gitignore文件中的所有文件外

git add * 

上面的命令不会添加任何文件。

git add -f * 

上述命令将添加包括我希望忽略的文件在内的所有文件。

那么,如何添加所有文件的同时仍然坚持使用.gitignore文件?

回答

216

忽略比赛我想你的意思git add .将所有文件添加到未在指定.gitignore回购 - 你可以看到这些通过键入git status

.在bash的变化通常意味着这个目录和所有其他目录递归,因此,如果您从回购的最底层做到这一点,你应该添加的所有文件。

我通常的git流程是创建.gitignore文件并将项目文件添加到回购。在导入文件后,我将通过输入git status来测试.gitignore文件 - 如果我看到了我添加的文件(例如,只有.php或.html,不包含.mp3或.mov),则可以使用git add .添加所有文件,和git commit -m "initial commit"提交它们,你应该设置。

+33

先生,你是个绅士和学者。你可以把它留在'我认为你的意思是'git add。'',它完全可以解决这个问题,但是现在我知道了一个关于bash的新东西以及一个设置回复引导的漂亮工作流程。我们今后在这里(2013年!)谢谢。 – chucksmash

+1

@IamChuckB很高兴帮助!感谢您的反馈! – Nic

+2

如果我做了'git add --all。',那么在这种情况下'git add。'有什么区别? –

23
git add . 

这将增加所有路径,并从的.gitignore

11

尝试git add .(意为“所有文件添加在当前目录及以下”)

2

另一种选择是使用的Git回购的exclude文件。该文件与.gitignore文件类似,但不承诺回购。

Github docs

您可以使用此技术来本地生成的文件,你不希望其他用户生成,如您的编辑器创建的文件。

使用您最喜欢的文本编辑器在Git存储库的根目录中打开名为.git/info/exclude的文件。您在此处添加的任何规则都不会被签入,并且只会忽略本地存储库的文件。

  1. 在终端,导航到Git仓库
  2. 使用你喜欢的文本编辑器的位置,打开文件.git/info/exclude
  3. 规则添加到exclude文件,你会在.gitignore文件
相关问题