簡體   English   中英

如何在git中將來自開發分支的忽略文件添加到部署分支

[英]How to add ignored files from develpoment branch to a deploy branch in git

我有一個特定的問題,到目前為止, 在這里這里這里 (以及其他)中所發現的場景並沒有完全解決。

我有一個node.js項目,並決定不在我的git repo中包括node_modules目錄( 是贊成和反對的一些論點)。 但是,我正在將常規部署設置到測試服務器,為此,我想部署完整的應用程序,並加載依賴項(也許將來我也將包括節點服務器,但現在僅包含依賴項)。

因此,我創建了一個test-deploy分支,在該分支上,我忽略了vagrant文​​件夾,一些靜態頁面等。我通過從.gitignore文件中刪除它來包含node_modules,然后將該分支推送到設置了鈎子的遠程存儲庫中通知我的測試服務器,有一個新的部署,應該從遠程部署。

現在如何再次檢查我的開發部門? 我試圖將node_modules添加回.gitignore文件,但是當我結帳我的開發分支git時(正確的做法)刪除了所有節點模塊,因為它們不被視為項目的一部分。

在寫這個問題我是想了一些想法和碰上了這個答案如何忽略先前提交的文件。 之后,替換.gitignore文件中的node_module目錄之后,我隨后運行命令

git rm -r --cached node_modules/*

添加-r標志以處理遞歸目錄遍歷。 現在,當我交換回到開發分支時,我的模塊文件仍然存在(盡管我丟失了Vagrant盒子!)

綜上所述,為了將忽略的文件包含在deploy分支中,並且在再次簽出開發分支時不丟失它們,您應該:

  • 簽出您的部署分支。
  • 從.gitignore文件中刪除node_modules / *
  • 將模塊文件添加到暫存並提交,推送或您需要執行的任何操作
  • 再次將node_mudules / *添加到您的.gitignore文件中
  • 運行git rm -r --cached node_modules/*再次從存儲庫中刪除文件。
  • 現在,您可以簽出您的開發分支,而不會失去該分支的節點模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM