Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从git repo克隆并提交到新存储库_Git_Github - Fatal编程技术网

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

从git repo克隆并提交到新存储库,git,github,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 这成功地创建了一个新主题,一个基本主题的副本,但是我想更改它并将新更改提交到另一个存储库,而不是覆盖对基本模板的更改 如何实现这一

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

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

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


如何实现这一点?

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

克隆.git目录后,只需将其删除,然后运行
gitinit
以使用这些文件创建新的repo

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

您还可以考虑使用git子模块,这可能适合您需要做的事情


您是否关心基础主题的历史记录是否在新主题的历史记录中?如果历史记录的存在不困扰您,那么您可以访问github.com,用不同的名称创建一个新的存储库(比如
new\u theme\u name

然后,将cd放入您的
新主题\u名称
目录,并将
远程指向的URL从基本主题的repo更改为您刚刚创建的URL:

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

然后,当您提交更改并推送时,更改将转到新的主题名称repo。

您已经克隆了存储库。。。现在您应该进入
new\u theme\u name
目录

在这里,如果键入命令
git remote
,屏幕上应该显示
origin
。然后,了解其他存储库url后,只需键入:

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


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

然后如何将新提交的repo推送到github?答案没有解释如何为本地存储库设置远程,这基本上就是OP的问题。此外,失去原始项目的整个开发历史的副作用违反了开源理念。我一点也不喜欢。太棒了!伙计,这帮了我大忙!!在GitHub上,自2019年6月起,您现在拥有了存储库模板:请参阅“”。