我正在尝试为朋友的项目(视频游戏)创建一个Github存储库,但无法使.gitignore文件正常工作。
我试图忽略包含图像和音频文件的目录,因为这些目录不是最好存储在Github上。
我已将.gitignore文件放在存储库的根目录中,并在其中放置规则以忽略上述目录,但不能在不推送数千个PNG和WAV的情况下将存储库推送到GH。
我是否需要将.gitignore放在我的.git文件夹中?
我是否需要重新初始化存储库,因为我在初始化后添加了.gitignore?
以下是我的.gitignore
的内容sprites/images/
sound/audio/
答案 0 :(得分:0)
有两种方法可以解决这个问题:
sprites/images
和sound/audio
,两者都只包含.
。该点与当前目录匹配,因此将排除这两个目录。/sprites/images
和/sound/audio
(每个人都在其自己的行中)。如果您没有在开头添加斜杠,则还会排除src/sprites/images
之类的目录。.git/info/exclude
。那里的路径将是项目根目录中的相对路径(如2中所示),但由于您无法检查此文件并且在拉动时不会被覆盖,因此您可以在那里添加个人忽略。Git会立即检测到.gitignore文件,从现在开始发出的任何命令都会尊重它。当然,你也可以提交它,所以每个开发者也都有它。
如果您已经签入了这些文件,则可以使用git rm
(请注意,这也会从磁盘中删除文件!)并在之后提交。
或者,如果要从整个历史记录中删除文件以缩小存储库大小,则can rebase them out。 如果您不确切知道这对项目中的其他人意味着什么,请不要坚持使用。它将导致覆盖本地存储库(在任何其他开发人员和GitHub中)的所有更改。
答案 1 :(得分:0)
git rm -r --cached .
git add .
git commit -m "Appropriate message"
git push origin branch_name