如何在两个不同来源的同一存储库中创建两个Git分支?

时间:2016-12-06 12:11:29

标签: git version-control legacy legacy-code

如果这是一个愚蠢的问题请踢我,但我需要众包经验。

我在两个不同的服务器上有代码 - 基本上是相同应用程序的生产和开发源,但不完全相同,并且没有相同的历史 - 我从编码标准/实践的人那里继承基本上不存在。我已经为生产代码(主分支)创建了一个Git存储库并上传了所有内容。快乐的日子,美好的时光,一切都很美好。

现在我想将dev代码(来自dev服务器)添加到同一个存储库中,但是作为一个单独的分支。我已经阅读了git checkout --orphan <branch>,看起来这可能是我的选择,但我不确定。我是否将当前仓库的远程(主分支已经提交,更新等)添加到&#34; new&#34; git repo我在开发服务器上初始化,签出一个孤儿分支,然后只是git add -all并推送到repo?是否会以任何方式将现有混乱中的origin添加到开发服务器上的文件中?

我对Git非常满意,但从未遇到过这个问题,而且我的Google-foo让我失望。

您的帮助/鄙视将不胜感激。

2 个答案:

答案 0 :(得分:2)

是的,您可以使用git checkout --orphan dev来实现它,然后使用git add .git push

但是,还有另一种方式,为您的信息(为dev代码 - dev分支创建一个dev repo,然后将其推送到生产仓库):

  1. 为开发代码创建一个git repo(开发分支)
  2. 在生产仓库中进行Bash,为远程添加dev repo,使用git remote add -f origin2 <URL for dev repo>
  3. git checkout origin2/dev
  4. git checkout –b dev
  5. git push origin dev

答案 1 :(得分:0)

所以根据我的理解,你有一个分支有生产代码(主分支)。现在,您要在同一存储库中添加dev代码。如果你使用--orphan,那么第一次提交将具有全新的历史记录,并且与主分支上的任何提交都不相关。你仍然可以继续这样做,但它可能会让人感到困惑。

我建议您只在repo中创建一个新分支,并将dev代码添加到该分支。它仍将存在于您的存储库中,但也与主分支分开。这应该保持井井有条。