如何将git忽略文件夹推送到子树分支?

bri*_*lov 5 git github

我有一个yeoman角应用程序,默认情况下dist文件夹被忽略.所以当我尝试这个时:git subtree push --prefix dist origin gh-pages它失败了,因为它被忽略了.我不想将dist文件夹推送到主分支,我只想将它推送到gh-pages分支.

我怎样才能做到这一点?

Mat*_*ert 7

我最终为此编写了一个脚本。它.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


小智 -1

您可以更新.gitignore所需分支上的文件(首选解决方案)。或者push --force强制更新。