我正在尝试git pull
,但我得到了:
错误:您对以下文件的本地更改将被覆盖 合并: database.sqlite3请在合并之前提交更改或存储它们。
我尝试了git checkout database.sqlite3
或git stash
甚至git add -A
,但此文件仍然存在。在git add -A
中,这个家伙同时坐在分阶段的文件上,而不是同时上演:
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: database.sqlite3
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: database.sqlite3
有什么想法吗?
答案 0 :(得分:2)
如果要提交文件,请执行以下操作:
git commit -m 'database.sqlite3 changes'
git add database.sqlite3
git commit -m 'database.sqlite3 more changes'
git push origin [branch-name]
文件已更改两次,因此需要提交暂存的database.sqlite3
。然后,当前未上演的更改需要单独提交。
如果要删除文件中的更改,请执行以下操作:
git checkout database.sqlite3
git reset
git checkout database.sqlite3
上面重复结帐步骤,因为您需要删除两个更改。要进入您所处的状态,您可能已更改文件,添加文件,然后再次更改文件。这就是你必须撤消两个更改的原因。
在上述任一场景之后,您应该能够进行git pull。
答案 1 :(得分:0)
我发现问题的根源不在于git hands。问题是每当我做git checkout database.sqlite3
或git stash
时...我检查了git状态并看到该文件仍在那里。问题如下:
有一个uwsgi进程正在运行并且它与database.sqlite3有连接,并且由于某些原因它在我删除/ checkout / etc文件之后立即创建了database.sqlite3文件。
我按killall -s INT uwsgi
然后正常git checkout database.sqlite3
然后git pull -v