2015-11-06 39 views
3

我在保存一致的版本庫在不同的本地計算機上,以及有效地推送和拉動時遇到問題。從Git拉到Wordpress和桌面服務器

當我使用Rails時,我可以輕鬆地進行推拉,並且包含啓動Rails服務器所需的所有文件。

在Wordpress中,我必須在.gitignore中包含像wp-config.php這樣的文件,因此當我將存儲庫提取到新計算機時,我無法啓動本地服務器(通過Desktop Server)。我曾嘗試手動傳輸wp-config,因爲這樣做不太麻煩,但隨後出現數據庫錯誤,我需要一個更完整的解決方案。

如何通過版本控制在開發人員之間傳輸整個WP存儲庫?我希望能夠推拉,而不是拖放。

(一種解決方案我認爲:複製的WP基地,遠程倉庫連接在底座上,然後拉動和更新的網站合併到基本服務器)。

(另一種可能的解決方案:移動數據庫配置然後將該文件包含在wp-config.php中,然後我將dbsalts.php添加到.gitignore並刪除wp-config,所以重要的東西會被忽略,但是會減少wp-config的數量。 ,我們仍然需要拖放dbsalts.php。)

dbsalts.php

define('DB_NAME', ..... (redacted code for security) 
........................... 

define('AUTH_KEY'......   
.......................... 

的wp-config.php文件

include(dbsalts.php); 

目前使用wpengine和桌面服務器,但我剛纔實現這個和開放的建議。

回答

0

*私有BitBucket Git存儲庫 - 雖然大多數情況下,WordPress安裝中唯一真正敏感的信息位於wp-config文件中,因此最好不要包含在Git存儲庫中,請將整個站點保留在私有倉庫中,是免費的Bitbucket。開放您的整個網站可能是有道理的,但在這樣做之前需要仔細考慮,謹慎的做法是一個好策略,尤其是在做客戶工作時。

* WP遷移DB Pro - 雖然Git可以讓所有網站的文件在環境中保持同步,但需要一個不同的工具來保持MySQL數據庫的同步。 WP Migrate DB Pro是一個優秀的插件,可以自動執行此過程。

+0

WP遷移數據庫Pro是我正在尋找。 –

0

即使你得到這個工作,你將有進一步的數據庫問題。 2位開發人員在2個不同的本地WordPress網站上工作,可能會在數據庫中創建數據庫中的數據。

下面是一個示例,假設你們都拉數據庫中包含以下帖子的網站:A,B,C。 現在,您創建一個新帖子:'D1',另一個開發者創建另一個帖子:' D2' 。這將使D1和D2與相同的帖子ID相關聯(因爲D1不在第二個開發者的WordPress數據庫中,D2也是如此)。

你可以做什麼(理論上),是設置兩臺機器連接到同一個遠程數據庫(你必須白名單列出你的IP地址,如果它們不同, WPEngine的支持)。你需要修改本地的wp-config.php,我相信它會使它與服務器上的不同,但沒關係,因爲你可以將它包含在gitignore中。

現在你可能可以拉和推送服務器沒有問題。但是我會使用BitBucket或GitHub,並且只有一個人推送到服務器。我也會在某個時候查看DeployBot.com。它可以通過ftp自動將代碼從BitBucket/GitHub推送到WPEngine的服務器。

0

我使用基於URL本地CONFIGS通過添加以下到的wp-config.php文件:

$site_options_filename = dirname(__FILE__) . '/options-' . $_SERVER['SERVER_NAME'] . '.php'; 

if (!file_exists($site_options_filename)) { 
    die('missing config: ' . $site_options_filename); 
} 

這將尋找根據您正在查看的域特定的配置文件。我使用開發。前綴或類似的我的本地構建。

我也用一個快速的bash腳本來轉儲數據庫到.sql文件,我包括在提交時有一些必須被傳數據庫的更改:

mysqldump -uyour_db_username -pyour_db_password --add-drop-table --create-options your_database_name > dump.sql 

這是一個簡單的任務運行dump.sql和dump.sql都發生了變化。