我有一个包含多个脚本的仓库。其中一个特别有用,我想用GitHub分享它。
如何将一个文件(带有提交历史记录)导出到GitHub存储库而不共享同一个存储库中的所有其他脚本?
类似的东西:
git remote add 'origin' git@github.com:user/Project.git
git push -u 'origin' ./useful-script.sh
但是如何指定单个文件名?或者我应该创建某种特殊的“部分”提交?
答案 0 :(得分:3)
您必须使用filter-branch
重写历史记录并删除除该单个文件以外的所有内容:
git filter-branch --index-filter '
git rm --cached -f -r .;
git add ./useful-script.sh;
' --all
应该做的。
如果--index-filter
不起作用(我不确定那里有git add
),请尝试使用相同参数的“--tree-filter”。