前言
相信很多人都有過這種經(jīng)歷,當修改了一堆bug后,要更新代碼到服務(wù)器上,此時,最簡單的方式是將項目文件全部上傳一次,這種方式可行,但不可取。為什么?你懂的!
其實可以直接在服務(wù)器用git pull
代碼的方式來更新代碼,但如果遇到你的服務(wù)器是linux服務(wù)器并且不帶UI界面的,除非你命令行指令及git很熟悉,要不然遇到代碼沖突還是比較麻煩的,小編這方面的水平有限。當然也有其他原因,不推薦此方式更新。
下面,小編為大家介紹下利用git來打更新包。
打包原理:
利用git archive
輸出兩個提交間的改變

NEW_COMMIT_ID_HERE
較新的提交ID
OLD_COMMIT_ID_HERE
較舊的提交ID(以此作為更新打包起始點)


現(xiàn)在我有兩次提交(commit)
第一次提交的ID為438eac0,提交了一個文件
第二次提交的ID為4d5baf6,提交了三個文件
然后按照上面打包指令:
git archive -o update.zip 4d5baf6 $(git diff –name-only 438eac0 4d5baf6)
執(zhí)行一下指令,會發(fā)現(xiàn)目錄中多了一個update.zip壓縮文件

小編解壓文件看一下有什么內(nèi)容

是小編第二個提交的文件及目錄,這說明了OLD_COMMIT_ID_HERE
僅作為打包的起始點,但并不包含OLD_COMMIT_ID_HERE
提交的內(nèi)容。
當然NEW_COMMIT_ID_HERE
和OLD_COMMIT_ID_HERE
之間可以間隔多個COMMIT
的,這樣就會打多個COMMIT
的內(nèi)容打包到一個壓縮包內(nèi)。
最后,只要解壓出來的內(nèi)容通過FTP工具上傳到服務(wù)器即可。
總結(jié)
上面展示的內(nèi)容只是單一的代碼更新,實際的更新可能還會涉及多個方面的,例如數(shù)據(jù)庫腳本、配置文件等,小編在此文章中就不作過多的討論。有興趣的同學(xué)可以百度或者GOOGLE。
結(jié)束語
謝謝各位的閱讀,希望本文的內(nèi)容對大家的學(xué)習(xí)和工作能帶來幫助。如果有疑問可以留言討論,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- Git里多種撤銷操作的最佳方法
- 簡單談?wù)凣it中的回滾操作
- 在Linux下搭建Git服務(wù)器的方法詳解
- git提交空目錄的方法
- Git 教程之遠程倉庫詳解
- Git 教程之查看提交歷史詳解
- Git 教程簡單入門介紹
- GitHub Eclipse配置使用教程詳解
- github 常用命令總結(jié)大全
- github pull最新代碼實現(xiàn)方法
- Git中需要熟記的命令小結(jié)
- Git 常用命令整理
- Git基本概述