作為一枚程序猿,相信很多人都有過小萌同學的經曆,當修改了一堆bug後,要更新代碼到服務器上,此時,最簡單的方式是将項目文件全部上傳一次,這種方式可行,但不可取。為什麼?你懂的!
本文章标題提到git,是一款免費、開源的分布式版本控制系統,想信很多人也用過或者接觸過.小萌同學以前用過svn,但後來接觸到git,果斷放棄svn,擁抱git.
其實可以直接在服務器用git pull代碼的方式來更新代碼,但如果遇到你的服務器是linux服務器并且不帶UI界面的,除非你命令行指令及git很熟悉,要不然遇到代碼沖突還是比較麻煩的,小萌同學這方面的水平有限。當然也有其他原因,不推薦此方式更新。
下面,小萌同學為大家介紹下利用git來來打更新包。
打包原理:
利用git archive輸出兩個提交間的改變
NEW_COMMIT_ID_HERE 較新的提交ID
OLD_COMMIT_ID_HERE 較舊的提交ID(以此作為更新打包起始點)
現在我有兩次提交(commit)
小萌同學解壓文件看一下有什麼内容
是小萌同學第二個提交的文件及目錄,這說明了OLD_COMMIT_ID_HERE僅作為打包的起始點,但并不包含OLD_COMMIT_ID_HERE提交的内容。
當然NEW_COMMIT_ID_HERE 和OLD_COMMIT_ID_HERE之間可以間隔多個COMMIT的,這樣就會打多個COMMIT的内容打包到一個壓縮包内。
最後,隻要解壓出來的内容通過FTP工具上傳到服務器即可。
上面展示的内容隻是單一的代碼更新,實際的更新可能還會涉及多個方面的,例如數據庫腳本、配置文件等,小萌同學在此文章中就不作過多的讨論。有興趣的同學可以百度或者GOOGLE。
謝謝各位的閱讀,希望能跟大家多交流,小萌想學習更多知識。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!