git只推送存储库的一部分

thi*_*ias 12 git github

我开发了一些脚本来处理我的bibtex数据库和PDF.

为方便起见,我在同一个git存储库中管理数据库和脚本(这是我不想改变的事情).但是,我想让我的脚本可用(例如在github上),而不是我的数据库或pdf.不过,我希望在github和本地脚本上都有相同的commit-history.

我想过有一个github-branch并且只推动这个分支.但是,如何通过对主分支中的脚本执行提交来更新分支?

有没有其他方法可以做到这一点?

Mar*_*air 11

您可以使用git subtree将脚本目录拆分为它们自己的分支(具有该子目录的完整历史记录),然后可以将其推送到GitHub.您可以再次运行git子树以使拆分存储库保持最新.

举个例子,一旦安装完毕,git subtree你可以做到:

git subtree split --prefix script-directory --branch just-scripts
git push github-scripts just-scripts:master
Run Code Online (Sandbox Code Playgroud)

...假设您的脚本在script-directory,并且github-scripts是指向仅用于脚本的GitHub存储库的URL的远程.


Fre*_*Foo 3

但是,如何使用对主分支中的脚本所做的提交来更新分支呢?

master从公共分支中挑选与脚本相关的提交。或者,在自己的分支中编辑脚本,然后master在需要时将更改合并到其中。