前言:
一直以來,我只是一個誤入前端世界的小小書僮,寫寫HTML+CSS+JS開心過生活;沒想到最近也開始要走入後端的異世界了~(對!就是有噴火龍、史萊姆、哥布林的那個異世界)
新手的我第一個就研究屬於電子商務open source的OPENCART(對!就是越級打怪),它是PHP為底使用MVC架構下開發的,檔案結構又區分前後台和單元。
新手的我第一個就研究屬於電子商務open source的OPENCART(對!就是越級打怪),它是PHP為底使用MVC架構下開發的,檔案結構又區分前後台和單元。
首先遇到的第一個問題,它的資料匣超多的,每次修改又必須要到MVC個別單元下修改檔案,在本機沒太大問題,但要FTP傳上正式站時,全部上傳有4千多檔案也太煩了,個別檔案上傳又區分太多資料匣不好找,少傳一個網站就掛點了~若不小心手滑拖拉檔案放錯地方,檔名又相同很容易蓋掉啊!!!
有沒有工具可以自動的只上傳更新的檔案呢?
正在煩惱時,我想起了一直不想碰的一個老字號魔法:版本控制git
git是版本控制工具,GitHub是雲端上傳同步空間,然後還真的查到了它有一個git-ftp的擴充功能,可以達到我想要的方式~
很可惜,SourceTree只能幫忙到git的管理功能,git-ftp這個法術最後仍然需要使用終端機的指令來發動,還好,我寫碼的工具已經換成VS code了,它本身就帶有終端機;或是用git CMD或Windows本身的CMD命令提示字元,也是可以的。
準備:
主要安裝的就三個吧,終端機請用自己習慣好上手的方式即可:(一)下載git安裝
(二)下載git-ftp安裝
(二)下載git-ftp安裝
(三)下載SourceTree安裝
(一)下載git安裝
安裝的全部步驟都用預設,下一步即可完成
(二)下載git-ftp安裝
大多數的文章都用git CMD指令安裝,我是個小小新手用不習慣,我用最傳統的古老的手法
(1)直接到git-ftp的頁面下載zip
(2)解壓縮後複製git-ftp這個檔案
(3)放置到git的安裝路徑下即可,稍後用指令來確認是否安裝好
C:\Program Files\Git\mingw64\libexec\git-core
(三)下載SourceTree安裝
第一步註用我Skip掉了,最後的SSL我也是先No跳過~
實作:
以上都準備好後,就可以來實作看看效果吧:
(一)建立專案資料匣
(二)在SourceTree建立git專案
(三)在config設定FTP帳密和路徑
(四)git-ftp初始化
(五)測試專案內容更新
(一)建立專案資料匣
(1)在檔案總管開新資料匣,並建立基本的檔案
test1.html & test2.html
這2支是要更新維護的測試檔,只是一般的html
.gitignore
這支是告知git有哪些東西要忽略,我放了gitignore.html和vendor資料匣
# 忽略目錄下
vendor/
# 忽略所有附檔名是 .tmp 的檔案
*.tmp
.gitignore檔案的內容
(二)在SourceTree建立git專案
(1)SourceTree建立git專案,指向剛才新開的資料匣
(三)在config設定FTP帳密和路徑
(1)SourceTree建立git專案後,其實資料匣裡已經出現一個.git的隱藏檔,裡面有一個config的檔案,用記事本或編輯器打開它吧~
(2)你會看到原本有[core]的一些設定,在下方貼上ftp的設定
要注意的是,FTP若沒有直接到達網站資料匣,請記得在ip的後面加上路徑喔
像我的範例是放在git/目錄下
[git-ftp]
url = ftp://255.255.255.255/git/
user = dev@dev.xxx.xxx
password = password
PS:多數的教學FTP設定都是用指令碼,我個人覺得太麻煩,直接改文字檔不是很方便嗎?
(3)在VScode裡打開終端機(或是用CMD),先檢查一下git-ftp有沒有安裝好,輸入git ftp,若有看到action代表有功能了啦~
$ git ftp
(四)git-ftp初始化
(1)確認git-ftp沒問題後,大膽的輸入git ftp init吧~~~看看發生什麼事~它會上傳檔案耶!
init會把全專案傳送上去喔~只要作一次就可以了~
$ git ftp init
PS:檔案數量很多很大時,這裡uploading要花一些時間,像opencart有4千多個檔案,上傳花了10多分鐘,請給它一點耐心~
(2)打開FTP軟體,連上去空間看看,哇塞,真的有檔案傳上去了,
而且,還忽略了我不想要上傳的東西,真是太棒了!(感動落淚)
(五)測試專案內容更新
(1)目前已經完成了全專案自動上傳了,但這還沒達到目標,接下來,先把在本機專案裡,
test1.html作文案修改
test2.html刪除檔案
(2)回到SourceTree的WORKSPACE面板,git已經知道我們都幹了什麼好事!
(3)一樣的Stage All, 送出Commit,會看到已經建立了第2個節點了
(5)FTP空間重新整理一下,哇塞,test1.html有更新了,而且,test2.html也不在了;
所以,連刪除檔案都同步了~完全不用怕手滑啊~
結語:
測試的效果我非常滿意,完全可以把檔案交給git去管理,FTP交給git-ftp去上傳,每天維護就發布一下commit,遇到BUG時,隨時可以到SourceTree裡回到前幾天的節點,再找找BUG是何時出現的,檢查完再回到今天把BUG修掉~
我的老天爺啊~我根本就是解鎖了時光機技能了啊~~~~
這篇文章只是玩玩git-ftp,對於我目前的需求超級實用,至於git和SourceTree還有很多管理的版本控制,等以後多人開發時再來玩看看~
參考文章:
留言
張貼留言