1. 程式人生 > 其它 >git專案的某個資料夾內容作為某個分支的內容

git專案的某個資料夾內容作為某個分支的內容

典型應用場景:

前端打包後將打包的內容儲存在某個分支以便自動部署。

舉例

在如下目錄中,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

,獲取最新程式碼。