我可以从现有存储库中创建新存储库但重命名吗?

时间:2018-02-24 01:46:45

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

我在本地创建了一个新项目,它是一个模板应用程序,它有一些基本代码(用于即将推出的项目),我将它推送到Github上的远程存储库。一切都很好。

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

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

2 个答案:

答案 0 :(得分:1)

  1. 在Github上创建一个新的远程存储库CoffeeMaker。
  2. 在本地TemplateApp中,创建一个新分支,它将成为CoffeeMaker的主要分支。
  3. 将新分支推送到远程CoffeeMaker。
  4. 创建新分支时,您可以选择是否保留以前的历史记录。假设从TemplateApp中的最新new创建master

    #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
    

答案 1 :(得分:1)

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

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

请参阅“ Generate new repositories with repository templates”:

  

在代码库中共享样板代码是软件开发中的不变模式。
  使用我们最喜欢的工具和目录结构来引导新项目,可以帮助程序员从构思到“ Hello world!”,从而更有效地进行,而无需进行手动配置。

     

今天,我们很高兴引入存储库模板,以使样板代码管理和发布成为GitHub上的一等公民。

     

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

https://github.blog/wp-content/uploads/2019/06/repository-template.gif

  

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