我已将我的文件添加到gitignore:
db/development.sqlite3
log/development.log
我已将其从本地计算机和服务器上的跟踪中移除:
git rm --cached db/development.sqlite3
git rm --cached log/development.log
然后我从本地计算机推送到回购站,然后使用
拉到服务器git pull origin master
我仍然收到此错误:
error: The following untracked working tree files would be removed by merge:
db/development.sqlite3
log/development.log
Please move or remove them before you can merge.
我不希望这些文件被覆盖或删除,我只是想让git拉出所有内容并忽略存储我的数据库信息的现有文件。我如何通过这个?
答案 0 :(得分:3)
这里有2个“解决方案”。 您可以将文件复制到其他位置,执行拉取,完全删除,然后复制其他文件。
或者你可以做到
git stash
git pull
git stash pop
这将导致文件在服务器上被删除,但它们将保存在本地。之后,由于您的.gitignore,您不需要再次执行此操作。该文件仅适用于尚未跟踪的文件。
答案 1 :(得分:2)
这样做:
$ mv db/development.sqlite3 db/development.sqlite3_bak
$ mv log/development.log log/development.log_bak
$ git pull
$ rm db/development.sqlite3 log/development.log
$ mv db/development.sqlite3_bak db/development.sqlite3
$ mv log/development.log_bak log/development.log