如何在保留所有先前提交的同时将当前仓库更改为新仓库

时间:2018-03-14 08:25:35

标签: git

我目前的状态:

  • 创建并提交了一个JS开发环境 - 称之为Master A。
  • 继续在Master A上编写新代码,但尚未提交任何新代码。

预期状态:

  • 我希望我对B大师的初步承诺包括来自Master A的所有新的和未提交的书面代码+包括A大师的所有提交。
  • 我想让Master A可用并可重复使用它作为未来JS环境项目的样板。

我正在寻找一个印刷版的工作流程解决方案,而不是针对此问题的一次性解决方案。

请不要在Master A上创建新分支作为解决方案。 我希望将A大师保持有机,让其他人在没有杂乱/分支的情况下获益并获益。

谢谢,

好友

1 个答案:

答案 0 :(得分:1)

为了重现您的方案,我创建了两个存储库testgitAtestgitBtestgitA包含一些提交以及一些新的未提交更改,而testgitB为空。

现在,对于“B包含来自A +的所有新的和未提交的编写代码包括A的所有提交”,我将遵循以下步骤:

  1. 将文件夹testgitA复制到新文件夹testgitB

    cp -R testgitA/ testgitB/

    注意:这是为了捕获未提交的代码。

  2. 进入testgitB并将远程来源的网址更改为新网址。

    cd testgitB/ git config remote.origin.url "https://github.com/Udayraj123/testgitB"

  3. 现在您将更改提交到testgitB,其中testgitA不受影响。

    git add . && git commit -m "into testgitB"

  4. 如果要放弃样板回购中未提交的更改,请使用以下命令。

    cd ../testgitA git add . git stash

  5. 参考:More ways to discard uncommitted changes here

相关问题