不要使用git push覆盖服务器上的特定目录

问题描述

我正在制造一个不和谐的机器人,并在heroku上运行它。我以前从未用过git。我要推送的项目文件夹如下所示:

discord_bot
{
.git
admin
bot.py
imgs
Profile
requirements.txt
}

图像是通过bot命令添加的,我不想用本地的imgs覆盖服务器的imgs目录。我可以在不覆盖bot.py目录的情况下将更新推送到imgs文件吗? 我目前正在这样做

git commit -am "message"
git add .
git push heroku master

解决方法

您可能想要git add的特定文件,而不是使用git add .,这意味着添加在当前目录中找到的所有内容 –包括您的 imgs 文件夹

另一种选择是拥有一个.gitignore文件。您可以在此文件中列出不想由git add提取的任何文件/目录。

还请注意,-a的{​​{1}}选项不会提取当前未跟踪的文件,即从未添加过的文件。

而且git不会忽略已经添加的文件。要从跟踪中删除它们,可以使用git commitgit rm --cached <file>git rm --cached -r <directory>告诉--cached 不删除实际文件。 git rm告诉-r递归删除目录中的所有文件。