我正在努力适应这个程序并拥抱 Git。
我有一个 Django 项目,并在本地计算机上添加了一个 Git 存储库。有一个名为 Dev 的分支。
我希望能够将代码块推送到我的实时网络服务器,因此我在 Ubuntu/Nginix/Gunicorn 服务器上创建了一个裸存储库。
我可以使用以下方式将文件推送到远程存储库:
git push live Dev:master
但是,我一直在删除我的设置文件。即使我只提交一个文件,然后运行
git push live Dev:master
,为什么我的设置文件不断被移动?
我已将其添加到 .gitignore 中。我已按照说明清除缓存,然后重新添加所有内容...但是每次我进行推送时,我的本地设置文件都会被推送到实时服务器。
我该如何阻止这种情况发生?
希望这只是我一个布偶。我们将不胜感激您的指导...
正如 @larsks 在评论中已经说过的,只有之前没有被跟踪过的文件,Git 才会忽略它。在 Git 中,文件只能属于以下类别之一:
这意味着,如果一个文件已经被跟踪,则不能简单地将其添加到
.gitignore
配置中以将其变成忽略文件。应首先将其从索引中删除(未跟踪),以便 .gitignore
配置生效并将文件标记为忽略。但是,如果您按照评论中所写的那样运行 git rm -r --cached .
,您将从索引中删除 every 跟踪文件。
在您的情况下,您只想删除带有
settings.py
的 git rm -r --cached settings.py
文件,提交删除 git commit -m "untrack settings.py"
,然后推送到远程 git push live dev:master
。此时,您的遥控器将不再有 settings.py
文件。