【问题标题】:clone from a git repo and commit to a new repository从 git 存储库克隆并提交到新存储库
【发布时间】:2013-11-06 14:12:19
【问题描述】:

我为 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 github


【解决方案1】:

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

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

git remote set-url origin the_url_of_your_repo_here

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

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

【讨论】:

  • 太棒了! Tks伙计,它帮助了我很多!
【解决方案2】:

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

然后,cd 进入您的new_theme_name 目录并将origin 远程指向的 URL 从基本主题的存储库更改为您刚刚创建的存储库:

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

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

【讨论】:

    【解决方案3】:

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

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

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

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

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

    【讨论】:

    • 如何将新提交的 repo 推送到 github?
    • 答案并没有解释如何为本地存储库设置远程,这基本上是OP问题。此外,丢失原始项目的整个开发历史的副作用违反了开源理念。我一点也不喜欢。
    猜你喜欢
    • 2015-01-12
    • 2012-05-03
    • 2018-03-07
    • 1970-01-01
    • 2014-07-10
    • 2013-07-14
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    相关资源
    最近更新 更多