2016-09-28 37 views
0

我們有一個私人服務器來處理項目的回購。現在,按照我已經做了幾次的程序,突然間,我偶然發現其中一個模塊上的「composer require」不包含應該在那裏的.git/文件夾。git /文件夾沒有拉到作曲家需要

「可能發生」我想,有人可能忘記在創建回購時將其包含在內。然而,要vendor/company/module時,刪除文件,做git init + git remote add origin ssh:repo.git + git pull,我會遇到git add .git/什麼也不做,但給我下面的警告:

$ git add .git/ 
warning: LF will be replaced by CRLF in .git/FETCH_HEAD. 
The file will have its original line endings in your working directory. 
error: Invalid path '.git/FETCH_HEAD' 
error: unable to add .git/FETCH_HEAD to index 
fatal: adding files failed 

認爲我會問,如果有人有一個想法如何確保.git/在從Satis服務器上拉(通過composer install/update/require)時包含在內。

尚未找到針對[git] folder[git] .git/ folder或多個結果頁面的更多變體搜索SO的解決方案。

+0

Git倉庫的'.git /'目錄從不被跟蹤。它在你運行'git clone'或'git init'時被創建。事實上,它不能被追蹤。這個特定的依賴來自Git回購或其他地方嗎? – Chris

+0

我們自己的git回購之一。只是從來沒有查過爲什麼我們總是使用'​​--prefer-source'標誌。儘管如此,請看下面的答案。但是無法找到如何在composer配置中包含一個自動的'--prefer-source',這樣在終端中這個標誌就沒有必要了。你有什麼想法嗎? – Nukeface

回答

0

答案來自同事。

當我安裝軟件包時,它只是一個軟件包。所以我用composer require company/project/module來安裝它。

但是,當爲項目安裝整個vendor/文件夾時,我們使用composer install --prefer-source -v

主要區別在於使用--prefer-source作爲-v標誌只是在終端中提供更詳細的(詳細)輸出。

我應該已經做了composer require company/project/module --prefer-source

去查查這爲什麼沒有工作;以下from the docs

--prefer源:有下載包的方式有兩種:源和DIST。對於穩定版本,Composer將默認使用dist。 來源是版本控制庫。如果啓用--prefer-source爲 ,則Composer將從源安裝(如果有)。這是 有用的,如果你想對項目進行錯誤修正,並直接獲得本地git 依賴項的克隆。

=========================

--prefer-source反向是--prefer-dist;以下from the docs

--prefer - 距離:--prefer源的反向,作曲家將DIST如果可能的安裝。這可以加快在基本構建 服務器和其他使用情況下的安裝,其中您通常不會運行供應商的更新 。如果你的 沒有正確的設置,這也是一種避免git問題的方法。

有關在項目中爲包(回購)設置不同來源的更多信息,可以是found here