我创建了一个项目作为单个文件要点。然后我将我的项目扩展到多个文件(例如,添加README和LICENSE文件)。我现在在我的本地git存储库上设置了两个遥控器,我称之为origin-gist和origin-github。我可以向他们推动,世界上的一切都是正确的。
但我真正想要的是将要点保留为单个文件,而没有添加内容的开销。如何保持一个本地存储库推送到两个遥控器?
顺便说一句,如果我可以控制gist中显示的文件的顺序,我会更少关心。我也不愿意重命名我的文件以使用ASCIIbetical排序来引导所需的顺序。
任何提示?
我发现此问题中的信息很有用:Transfer gist repo to github,但需要澄清一下。
答案 0 :(得分:2)
最简单的解决方案可能是保留两个独立的分支,一个只包含脚本(我将其命名为minimal
),另一个包含所有额外文件(master
)。然后确保"上游"为每个分支设置正确:
# In the 'minimal' branch
git remote add gist git@gist.github.com:/1162032.git
git push -u gist master
# In the 'master' branch
git remote add origin git@github.com:octocat/Hello-World.git
git push -u origin master
之后,您只需要确保两个脚本都保持最新,因此您对一个分支所做的任何更改也应该发送到另一个分支。
您可以通过以下两种方式之一轻松实现这一目标:
cherry-pick
会从一个提交到另一个。merge
master
分支进入minimal
分支,只要您进行更改,它就会将这些额外的文件添加到minimal
。但假设minimal
分支仅包含实际脚本,您应该能够安全地从minimal
合并到master
而无需添加这些额外文件:# First, make edits to the 'minimal' branch, commit them, then push the changes to 'gist'
# Now, apply those changes to master like this:
git checkout master
git merge --no-ff minimal -m "Update script to latest version"
git push # Push the changes to the GitHub repo
答案 1 :(得分:2)
这个答案并没有直接回答您提出的具体问题,但它确实解决了手头的问题,因此被添加为答案而不是评论。
值得自问的是,是否有理由保持旧的要点并更新?
这个问题的最简单的解决方案,以及我经常看到的,是用README文档取代的要点,如下所示:
此要点已移至其自己的存储库:http://github.com/OctoCat/HelloWorld
采取这个"前要点"作为一个主要的例子:https://gist.github.com/weakish/492755
通过这种方式,在网上找到要点的人可以直接进入图书馆的最新版本,而且您不必担心将两个不同的位置保持同步。