佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 使用git遷移Laravel項(xiàng)目至新開發(fā)環(huán)境的步驟詳解

使用git遷移Laravel項(xiàng)目至新開發(fā)環(huán)境的步驟詳解

熱門標(biāo)簽:Linux服務(wù)器 科大訊飛語音識別系統(tǒng) Mysql連接數(shù)設(shè)置 服務(wù)器配置 團(tuán)購網(wǎng)站 阿里云 電子圍欄 銀行業(yè)務(wù)

對于如何創(chuàng)建一個(gè)Laravel項(xiàng)目,相信對新接觸Laravel的朋友并不存在太多的問題,但是今天我們要來看一下如何將已有的Laravel項(xiàng)目遷移(復(fù)制)到新的開發(fā)環(huán)境。

我們需要用到的工具是git,如果你不知道git是什么,這里有一個(gè)傳送門,看完之后再回來:

http://github.com

簡單說來,git就是Github開發(fā)的VCS(Version Control System),即版本控制系統(tǒng)。如果你使用過SVN,那么你應(yīng)該很清楚版本控制是什么。

本文的示例環(huán)境是Ubuntu 16.04 LTS,Windows的朋友可以在Git bash下進(jìn)行操作。

為了便于理解和操作,我會在本地系統(tǒng)環(huán)境下進(jìn)行演示,如果項(xiàng)目在服務(wù)器端也沒關(guān)系,我在文中會提到具體操作。

假設(shè)我們已經(jīng)創(chuàng)建好了一個(gè)項(xiàng)目,項(xiàng)目地址為/home/eagle/webdev/example,

我們先來講解一下整體步驟:

  1. 在項(xiàng)目文件夾中初始化Git并將所有項(xiàng)目文件添加至working tree。
  2. 使用git clone命令克隆項(xiàng)目至新地址。
  3. 配置Laravel并重新安裝dependencies

步驟很明確,那么我們就開始。

首先我們進(jìn)入本地項(xiàng)目文件夾,初始化git:

$ cd /home/eagle/webdev/example         
$ git init         
$ git add .         
$ git commit -m "initial commit"

這樣一來,我們就可以使用git clone來拷貝我們的項(xiàng)目了:

$ git clone /home/eagle/webdev/example /home/eagle/webdev/new_location

完成后,我們的項(xiàng)目就順利被遷移至了新的文件夾中。

那么如果我們的項(xiàng)目文件不在本地呢,而在遠(yuǎn)端服務(wù)器呢?

這里我們分為兩種情況。

第一,如果你使用了Github的Repository,那么你的項(xiàng)目地址類似于以下地址

https://github.com/eagle/example.git

那么我們要克隆項(xiàng)目的話,可以直接使用以上地址:

$ git clone https://github.com/eagle/example

第二種情況,我們用了自己的服務(wù)器部署Git Server。這種情況稍微復(fù)雜一點(diǎn),我們需要獲取服務(wù)器的公共ip(public address)。假設(shè)我的服務(wù)器公網(wǎng)ip是50.100.150.260,我的項(xiàng)目地址為/srv/git/example.git,那么我們要克隆項(xiàng)目,需要使用以下地址:

git@50.100.150.260:/srv/git/example.git

注意這里git是我們在部署Git Server時(shí)所創(chuàng)建專門用于git的用戶。

克隆命令并沒有變化:

$ git clone git@50.100.150.260:/srv/git/example.git

只是地址變更了而已。

好了,那么我們克隆完成之后,我們就需要進(jìn)行下一步了。

首先我們需要先運(yùn)行

$ composer install

來安裝項(xiàng)目需求的包裹。因?yàn)樵趃it clone時(shí),位于vendor文件夾下的包裹將不會被拷貝,所以我們需要重新安裝這些包裹。

完成之后,我們需要?jiǎng)?chuàng)建.env環(huán)境文件。

可能你已經(jīng)注意到,我們新建Laravel項(xiàng)目的時(shí)候,.env文件將自動(dòng)被創(chuàng)建在項(xiàng)目根目錄下。但是這個(gè)文件是用于不同環(huán)境下項(xiàng)目配置的,所以在git clone時(shí)這個(gè)文件同樣不會被拷貝至新路徑。

好在Laravel自帶了一個(gè).env文件的樣本,來提供我們一個(gè)基礎(chǔ)的配置模板:

$ cp .env.example .env

現(xiàn)在我們有了.env環(huán)境配置文件,我們需要生成新的app key:

$ php artisan key:generate

接下來打開.env文件,你會發(fā)現(xiàn)APP_KEY一行已經(jīng)自動(dòng)填入了我們剛剛生成的key。

接下來我們將數(shù)據(jù)庫信息填入相應(yīng)的位置:

[...]                

DB_CONNECTION=mysql                    

DB_HOST=127.0.0.1                    

DB_PORT=3306                    

DB_DATABASE=eagle                    

DB_USERNAME=homestead                    

DB_PASSWORD=secret                  

[...]

我們看到,DB_DATABASE一行,我們填入該環(huán)境下數(shù)據(jù)庫名稱,DB_USERNAME及DB_PASSWORD一行,我們分別填入管理該數(shù)據(jù)庫的用戶名和密碼。

好了,現(xiàn)在我們保存文件。如果你有數(shù)據(jù)庫遷移文件(migration),那么現(xiàn)在可以運(yùn)行

$ php artisan migrate

來進(jìn)行數(shù)據(jù)庫的遷移,如果有種子文件(seeder)的話,繼續(xù)運(yùn)行

$ php artisan db:seed

進(jìn)行seeding即可。

當(dāng)然以上兩個(gè)命令可以合并:

$ php artisan migrate --seed

注意,原始項(xiàng)目數(shù)據(jù)庫里除了使用seeder生成的數(shù)據(jù)仍然需要自行拷貝至新的數(shù)據(jù)庫。

好了,這樣一來我們后端的配置就完成了,如果你用了Laravel Mix來編譯前端文件,那么你還需要

$ npm install

注意:Windows環(huán)境下請運(yùn)行npm install --save-dev --no-bin-links

最后要說的一點(diǎn),如果你是遷移到服務(wù)器環(huán)境下,那么你需要將storage文件夾及其包含的文件進(jìn)行權(quán)限的調(diào)整:

$ chown -R www-data: storage

否則可能出現(xiàn)相應(yīng)權(quán)限的錯(cuò)誤。具體的權(quán)限調(diào)整請根據(jù)你環(huán)境的具體情況進(jìn)行。

好了,現(xiàn)在我們已經(jīng)成功地將Laravel遷移至了新的開發(fā)環(huán)境!

本文主地講解了如何使用git遷移Laravel項(xiàng)目至新開發(fā)環(huán)境的步驟詳解,更多關(guān)于Laravel框架的使用技巧請查看下面的相關(guān)鏈接

您可能感興趣的文章:
  • 利用Docker搭建Laravel開發(fā)環(huán)境的完整步驟
  • 詳解用Docker搭建Laravel和Vue項(xiàng)目的開發(fā)環(huán)境
  • 詳解如何用docker安裝laravel開發(fā)環(huán)境
  • 4種Windows系統(tǒng)下Laravel框架的開發(fā)環(huán)境安裝及部署方法詳解

標(biāo)簽:大理 衡水 江蘇 廣元 蚌埠 萍鄉(xiāng) 衢州 棗莊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用git遷移Laravel項(xiàng)目至新開發(fā)環(huán)境的步驟詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    林州市| 锦州市| 永州市| 宣化县| 尚义县| 岫岩| 保山市| 玉树县| 镇远县| 霍山县| 尼勒克县| 江安县| 报价| 雅江县| 宝应县| 宁夏| 土默特左旗| 莫力| 绩溪县| 祁阳县| 红原县| 宽甸| 阿巴嘎旗| 无棣县| 汉川市| 揭阳市| 巴塘县| 新泰市| 沂源县| 宣武区| 定襄县| 天水市| 甘孜| 开封市| 手机| 鹿邑县| 牡丹江市| 子洲县| 定兴县| 岑巩县| 临夏县|