【问题标题】:Can I create a new repository out of an existing repository but rename it?我可以从现有存储库中创建一个新存储库但重命名它吗?
【发布时间】:2018-08-04 03:23:12
【问题描述】:

我在本地创建了一个新项目,它是一个模板应用程序,其中包含一些基本代码(用于即将进行的项目),我将其推送到 Github 上的远程存储库。一切正常。

我正在尝试使用该模板应用程序创建新项目(具有自己的本地和远程存储库)。例如,假设当前项目名为 TemplateApp。我想构建一个新项目(基于 TemplateApp),但名为 CoffeeMaker(名称应同时在本地调用和远程调用)。我该怎么做?

我尝试克隆 TemplateApp,然后在本地重命名项目(及其所有文件 - FRUSTRATING),然后执行 git init,最后推送到新存储库。 如果这可行,我还没有成功,因为我在本地重命名项目时一直失败。

【问题讨论】:

  • 如果您想要一个基于模板应用程序内容而不是其 git 历史记录的全新项目,最好删除 git 目录,然后执行您想要的任何重命名操作。

标签: git github repository git-branch git-remote


【解决方案1】:
  1. 在 Github 上创建一个新的远程存储库 CoffeeMaker。
  2. 在本地 TemplateApp 中,创建一个新分支,该分支将成为 CoffeeMaker 的主分支。
  3. 将新分支推送到远程 CoffeeMaker。

创建新分支时,您可以选择是否保留以前的历史记录。假设从 TemplateApp 中最新的master 创建new

#enter the local TemplateApp
cd TemplateApp

#preserve the history
git checkout -b new master

#don't preserve the history
git checkout --orphan new master
git commit -m 'init'

#modify the files
git add .
git commit -m 'changes for CoffeeMaker'

#push the new branch to TemplateApp
git push https://github.com/xxx/CoffeeMaker.git -f new:refs/heads/master
#or
git remote add coffee https://github.com/xxx/CoffeeMaker.git
git push coffee -f new:refs/heads/master

现在使用master 分支创建了新的存储库。您和其他人现在可以克隆和工作:

git clone https://github.com/xxx/CoffeeMaker.git

【讨论】:

    【解决方案2】:

    在 GitHub 上,自 2019 年 6 月起,您不必克隆“TemplateApp”并重命名它。

    您现在可以定义一个存储库模板,并调用/generate 端点(或单击“使用此模板”按钮)。
    您需要做的就是根据“TemplateApp”存储库模板命名您的项目并克隆您的新存储库以开始使用!

    见“Generate new repositories with repository templates”:

    跨代码库共享样板代码是软件开发中的一种固定模式。
    使用我们最喜欢的工具和目录结构引导新项目可帮助程序员从想法转变为“Hello world!”效率更高,手动配置更少。

    今天,我们很高兴推出存储库模板,让样板代码管理和分发成为 GitHub 上的一等公民。

    要开始使用,您只需将存储库标记为模板,您就可以立即使用它来生成包含模板存储库的所有文件和文件夹的新存储库。

    每个模板存储库都有一个名为 /generate 的新 URL 端点,可让您更有效地分发模板

    【讨论】:

      猜你喜欢
      • 2019-02-14
      • 2014-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多