2013-04-04 119 views
1

我的團隊正在研究一個包含完全可部署的Wordpress應用程序的git存儲庫。這樣配置就可以很容易地將它部署到AWS堆棧。該庫包含在名爲本地忽略git文件,但不要將它們從存儲庫中刪除

cache/ 
w3tc-config/ 

中的wp-content /文件夾中創建兩個文件夾。當開發者在檢查了這個應用程序,他們卸下發展的緩存功能,因此該插件寫這些更改緩存插件它使用兩個目錄。然後鼓勵.git將它們分階段提交。

是否有無論如何我們可以忽略開發機器上的這些文件夾,但不能從回購中刪除它們?另外,如果聽到其他解決方案可能會幫助我解決這個問題,即使它是一個更大的變化,我也會感興趣。

回答

0

是的,在項目目錄中創建一個本地.gitignore文件。 在文件中粘貼以下

cache/* 
w3tc-config/* 

現在,這些文件將從混帳被排除,但它們不會從資源庫中刪除。

+0

這些文件需要在存儲庫中。只是可選地排除在開發端。這對我的問題不是一個可行的解決方案。 – David 2013-04-04 12:36:18

+0

如果他們已經被推,它不會把他們拿出來。它只是忽略更改,並不會在git狀態下顯示它們 – stdcall 2013-04-04 12:37:06

+0

它們已被推送並且需要。問題在於如何在回購工作時能夠在本地提交回該項目時手動忽略這些文件夾。 – David 2013-04-04 13:06:13

1

如果您檢出您的存儲庫並讓master如下所示,那麼您可以創建一個devel分支,您只需將緩存w3tc-config添加到.gitignore即可。

我在做一些類似的工作,我使用git-svn來處理一個svn倉庫,它在另一個svn倉庫中爲一個子模塊「鏈接」。 Git克隆沒有獲取該子模塊,所以我剛剛從svn checkout中複製了內容,簽入了devel分支(在svn trunk分支之後離開master),並將子模塊目錄添加到.gitignore。

這是一個解決方案,它需要每個開發人員的特定操作,而不是您可以從存儲庫中推出的任何東西。但類似於git掛鉤,如果您創建了一個執行所需操作的tools/do_it.sh腳本,則可以大大降低該條。

+0

通過創建一個新的分支不會。gitignore會在你想要進行推送的時候被合併回主人手中嗎? – David 2013-04-04 13:02:00

+0

好點,它可能會(在我的情況下,這不是一個問題,因爲上游是SVN)。我自己並沒有使用過'git rerere',但是從我的理解來看,這可以使第一次合併,撤銷.gitignore更改,然後git會記住所有即將進行的合併。 – hlovdal 2013-04-04 15:44:44

1

你不能兩面都有。要麼追蹤文件要麼不是。您無法將文件保存在存儲庫中,但無需跟蹤對其的更改。一旦他們被追蹤,這取決於你自己,而不是git add。 (值得一提的是,git並沒有跟蹤文件夾)

創建一個名爲UnzipMeRightAfterCloning.zip的存檔,其中包含所有您想忽略的內容。任何克隆回購的人都需要提取該存檔,並且會添加由您的.gitignore設置阻止的所有文件/文件夾。 (並且考慮到您當前的設置,您將不得不首先解壓那些文件夾中的文件。)

將這些文件放入您的.gitignore文件中。 (不要加星號。)

cache/ 
w3tc-config/ 
相關問題