2017-07-25 116 views
1

我想要做的是我不希望本地更改的數據庫應用於服務器,我使用Github來處理文件。git rm -rf --cached導致remove db。 &合併衝突git

我在'.gitignore'文件中寫了db.sqlite3。但它不起作用。所以我做了git rm -rf —cached .和git添加,提交,推送。問題是,儘管我的本地存在DB.sqlite3文件,但它會導致刪除GitHub中的db.sqlite3。

如何在不使用git rm -rf --cached的情況下應用db.sqlite3 gitignore。 ?


當我的Git在Ubuntu(AWS,ubuntu的實例)的拉動。錯誤發生在下面。

your local changes to the following files would be overwritten by merge: 
health/db.sqlite3 
health/nohup 

所以,我做了sudo git stash 而且,當我的git拉,Automatic merge failed: fix conflicts and then commit the result

git的狀態

unmerged paths: 
    deleted by them : db.sqlite3 
    both modifiled : management/__pacache__/forms.cpython-35.pyc 

因爲,在Git中沒有db.sqlite3。但是我想將我的數據庫存儲在ubuntu服務器中。

我該如何解決問題?

+0

你真的不應該,但鍵入'git add db.sqlite3' –

+0

@CoryMadden然後爲什麼建議呢?通常我們不會在Git中對我們的數據庫進行版本化,因爲它可能是一個很大的二進制文件,並可能導致回購膨脹。 –

+0

使用其他方法備份您的數據庫。 –

回答

-2

是的,你的.gitignore知道這是怎麼回事。您不希望將數據庫存儲在git上,原因很多。 SQLite也有點糟糕。我知道這對於新開發人員來說是一個方便的工具,並且與Django一起提供,但瞭解其他數據庫絕對值得。我真的不想提出建議一個不同的數據庫,但除了SQLite以外,任何東西都是不錯的選擇(可能不是Mongo)。如果你堅持把你的db添加到你的git倉庫,你應該從你的.gitignore文件中刪除這一行。在項目的頂層目錄中,您會找到一個名爲.gitignore的文件。如果您在Ubuntu上並使用GUI進行瀏覽,您可能無法看到它,但它在那裏。如果你在命令行中,只需輸入vim .gitignore或任何你的文本編輯器。刪除表示*.sqlite3或類似的行。然後運行git add db.sqlite3。然後你可以提交併推送。