从git repo克隆并提交到新的存储库

时间:2013-10-27 21:56:01

标签: git github

我为Ghost博客引擎创建了一个骨架主题。并将其提交给github回购,我希望能够将此回购克隆为新主题。

$ cd ghost/content/themes
git clone https://github.com/StyxOfDynamite/styx_ghost_theme.git new_theme_name

$ ls -l
new_theme_name

这成功创建了一个新主题,一个基本主题的副本,但是我想更改它并将新更改提交到另一个存储库,而不是覆盖对基本模板的更改....

我如何实现这一目标?

3 个答案:

答案 0 :(得分:5)

您已经克隆了您的存储库......现在您应该进入new_theme_name目录。

此处,如果您输入命令git remote,则屏幕上应显示origin。然后,知道您的其他存储库URL,您只需键入:

git remote set-url origin the_url_of_your_repo_here

Et瞧!这比删除整个.git目录要好得多。这样,您将保留最初克隆的存储库的历史记录。

如果您使用 SSH 进行推送(通常就是这种情况),请不要忘记使用ssh-keygen生成一对(公共,私有)密钥并让远程设置服务器知道你的公钥。

答案 1 :(得分:3)

如果我理解你的问题,那么你已经克隆了一个基础骨架回购,你想将它用于一个新项目并从中创建一个新的回购。

您只需要在克隆后删除.git目录,然后运行git init以创建包含这些文件的新存储库。

运行git init后,只需执行git commit -a即可将所有克隆文件提交给源代码控制。

您还可以考虑使用可能适合您需要的git子模块。

http://git-scm.com/book/en/Git-Tools-Submodules

答案 2 :(得分:2)

您是否关心基本主题的历史是否在新主题的历史中?如果历史的存在不打扰你,那么你可以去github.com并创建一个具有不同名称的新存储库(假设new_theme_name)。

然后,进入你的new_theme_name目录并将origin遥控器指向的URL从基本主题的repo更改为刚创建的URL:

$ git remote set-url origin https://github.com/StyxOfDynamite/new_theme_name.git

然后,当您提交更改并推送时,更改将转到new_theme_name repo。