背景:我想創建一個 Jekyll 協作博客。我創建了一個子樹來將它的協作部分與站點的其余部分隔離開來。然而,隨著這些進入_posts,當 Jekyll 呈現站點時,那里的任何 blob 都會被忽略。
現在,我所做的是將特定檔案夾 ( _posts/assets/) 中的所有內容復制到assets/,以便 Jekyll 可以在渲染站點后使用這些檔案。
我正在使用 Gitlab 來托管 Jekyll,所以我需要在推送到 Gitlab之前擁有它,所以我現在通過 do 手動執行此操作
cp -R _posts/assets/* assets
git add -A
git commit "New files for articles"
我可以把它放在預提交鉤子上,這樣我就可以自動化這個程序嗎?有小費嗎?
uj5u.com熱心網友回復:
看看你可以使用的 git 鉤子:
$ cd ~/project_name
$ ls -1 .git/hooks/
applypatch-msg.sample
commit-msg.sample
fsmonitor-watchman.sample
post-update.sample
pre-applypatch.sample
pre-commit.sample
pre-merge-commit.sample
prepare-commit-msg.sample
pre-push.sample
pre-rebase.sample
pre-receive.sample
update.sample
您是說要執行腳本預推送(在推送到 GitLab 之前)。因此,創建一個pre-pushgit hook 腳本,并使其可執行。
$ touch .git/hooks/pre-push
$ chmod x .git/hooks/pre-push
然后,將您的命令放入該檔案中。
.git/hooks/pre-push:
#!/bin/sh
cp -R _posts/assets/* assets
git add -A
git commit "New files for articles"
exit 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/491527.html
