我有一个yeoman角应用程序,默认情况下dist文件夹被忽略.所以当我尝试这个时:git subtree push --prefix dist origin gh-pages它失败了,因为它被忽略了.我不想将dist文件夹推送到主分支,我只想将它推送到gh-pages分支.
我怎样才能做到这一点?
我最终为此编写了一个脚本。它.gitignore使用包含gh-pages已删除行的更新文件创建临时提交。
推送后提交被丢弃。if 语句在那里,所以您不会意外丢失工作。
STATUS="$(git status)"
if [[ $STATUS == *"nothing to commit, working tree clean"* ]]
then
sed -i "" '/gh-pages/d' ./.gitignore
git add .
git commit -m "Edit .gitignore to publish"
git push origin `git subtree split --prefix gh-pages master`:gh-pages --force
git reset HEAD~
git checkout .gitignore
else
echo "Need clean working directory to publish"
fi
Run Code Online (Sandbox Code Playgroud)
请注意,在 v2.9.1 之前,状态为 nothing to commit, working directory clean