这几天偶然发现了Astro这个框架,然后深入研究了一下,感觉非常适合作为博客框架,所以就自己搭建了一个主题博客,起名为Iak。然后我是准备只将主题开源,而不想将自己博客的内容全部开源。所以就产生了一个需求:我需要能够使用自己开源的代码并能追踪它的更新,而又不想我额外改的东西被公开。其实如果使用的是别人的开源代码,只需要fork一下就可以了,但这是我自己的代码,github不允许fork自己的代码…头疼。(当然可以弄两个号或者建个组织,但这太麻烦了… 还是找了找fork自己仓库的技巧,最后还真的被窝找到了)
新建github仓库
首先肯定要新建一个自己的库(私有库),然后在本地将仓库clone
下来。
git clone xxxxx
与另一个远程仓库建立链接
此时通过git remote -v
命令可以看到本地只有一个名为origin的分支,也就是上一步在github上创建的远程仓库。
紧接着执行命令git remote add upstream 另一个远程仓库.git
,即给此本地库的远端加上一个名为upstream的分支(想要fork的库)。紧接着可以输入git remote -v
查看现在的远程分支情况(可以看到有origin和upstream两个)
将远程分支同步到本地
使用git pull upstream master
将远程分支同步到本地。同步之后就可以进行魔改,然后同步到私有的那个仓库(git push origin master
或者直接vscode推送上去)。当公开的库有代码更新时,可以执行上一条语句进行同步。
当然你也可以直接在这个新建的私有库上进行开发,然后执行
git push upstream master
将代码推送到公开库上去,不过我怕弄混,依旧是使用了两个仓库来进行开发,私有库进行写作,公开库进行功能开发