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

How do I create two Git branches on the same repository from two different sources?

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

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

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

我对 Git 很满意,但从来没有遇到过这个问题,我的 Google-foo 让我失望了。

您的 help/scorn 将不胜感激。

据我了解,您有一个分支具有生产代码(master 分支)。现在,您想在同一个存储库中添加开发代码。如果你选择 --orphan 那么第一次提交将有一个全新的历史,并且不会与你在 master 分支上的任何提交相关。您仍然可以继续进行此操作,但可能会造成混淆。

我建议只在您的存储库中创建一个新分支并将开发代码添加到该分支。它仍将存在于您的存储库中,但也会与 master 分支分开。这应该使事情井井有条。

可以,可以用git checkout --orphan dev实现,然后用git add .git push

但是,还有另一种方法,供您参考(为开发代码创建一个开发仓库——开发分支,然后将其推送到生产仓库):

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