git專案的某個資料夾內容作為某個分支的內容
阿新 • • 發佈:2021-07-01
典型應用場景:
前端打包後將打包的內容儲存在某個分支以便自動部署。
舉例
在如下目錄中,project作為git專案根目錄,dist作為子目錄,在master分支中,檔案結構如下,想要在某個分支(例如在deploy分支)中只儲存dist的內容。
master分支內容:
project │ README.md │ file001.txt │ └───dist │ │ file011.txt │ │ file012.txt │ │ │ └───subfolder1 │ │ file111.txt │ │ file112.txt │ │ ... │ └───folder │ file021.txt │ file022.txt
想要deploy分支內容
file011.txt
file012.txt
操作如下
cd dist
git init // 給dist資料夾建立倉庫
git add -A
git commit -m 'deploy'
git push -f url master:deploy // url:推送的倉庫地址,master:deploy是將本地的master分支推送到倉庫的deploy分支
操作後就把dist內容強行推送給了deploy分支
服務端更新程式碼
切換到deploy分支,再git pull 沒辦法將新內容合併,因為沒有相同的歷史節點,但這兒根本就不需要合併,只需要最新的分支程式碼即可。
可以在deploy使用 git fetch && git reset --hard origin/deploy