Python 如何在远程github分支和本地分支/文件夹之间轻松切换? 会发生什么?

Python 如何在远程github分支和本地分支/文件夹之间轻松切换? 会发生什么?,python,git,github,scrapy,Python,Git,Github,Scrapy,我得到了大量用Python 2.7编写的Scrapy爬虫。我需要将它们全部转换为支持Python 3。 此转换必须在一次完成。我只能在Python3爬虫准备好部署后才开始使用它们。我不能一次部署一个爬虫程序 我做了什么? 我目前有一个远程分支,它是主分支让我们称之为远程A。这是包含所有爬虫的分支,它们每天都被执行。这一部门必须保持职能 对于那个远程分支,我有本地文件夹/分支,在那里我修复bug并创建新的bug让我们称之为Local-A。从主人那里,我推拉它 现在,由于“所有操作都必须保持活动”,

我得到了大量用Python 2.7编写的Scrapy爬虫。我需要将它们全部转换为支持Python 3。 此转换必须在一次完成。我只能在Python3爬虫准备好部署后才开始使用它们。我不能一次部署一个爬虫程序

我做了什么? 我目前有一个远程分支,它是主分支让我们称之为远程A。这是包含所有爬虫的分支,它们每天都被执行。这一部门必须保持职能

对于那个远程分支,我有本地文件夹/分支,在那里我修复bug并创建新的bug让我们称之为Local-A。从主人那里,我推拉它

现在,由于“所有操作都必须保持活动”,我需要为Python3爬虫提供一个单独的远程分支该分支可以称为Remote-B。我已经手动创建了它,因此整个存储库现在有两个分支:Master(Remote-A)和python3爬虫(Remote-B)的分支,后者是Master分支的副本

我还手动创建了一个文件夹,并从Python3分支下载了一个zip该文件夹称为Local-B。我的想法是从Python 3分支中删除所有(2.7)爬虫程序,或者开始逐个替换它们

总而言之。我已将本地A连接到远程A。我还需要将本地B连接到远程B。这两个连接不应混淆

请注意,我对GIT不是很满意,而且我是唯一负责过渡项目的人,所以我希望一切都能顺利进行。我知道在GIT中很容易造成很多损害


因此,我的工作流程要求我每天保持运行的爬虫程序正常运行,并将旧爬虫程序升级到Python 3。如何使A侧和B侧之间的切换容易,而不会造成严重破坏?

如果我理解您的问题,恐怕您对分支和远程的概念有点困惑。远程设备是github,也是git回购的本地镜像

你想要多少镜子就有多少。“全部”将包含所有分支

就你的情况而言,如果我理解你的问题,我会做如下工作:

  • 有一个deploy分支(您似乎将其命名为Remote-a,这个名称让我感到困惑):这个分支应该总是正确的
  • 拥有一个python2开发分支(建议名称:py2dev),以防在部署python3代码之前需要对python2部署的代码进行修改
  • 有一个python3迁移分支(建议名称:py3),您将在其中迁移python2代码
  • 虽然python3迁移尚未准备就绪,但您可以在计算机中的py2dev分支上进行开发。如果您想发布某些更改,您可以在远程(即github)中发布这些更改,然后在部署的repo中从远程(github)中提取这些更改

    当python3迁移准备就绪时,您将再次将更改推送到远程,然后获取它们,并在部署的服务器中执行git checkout py3。如果出现问题,您可以执行
    git签出部署
    ,这样您就又安全了


    有许多git工作流。这应该是一个简单的问题。

    如果我理解你的问题,恐怕你对分支和远程的概念有点困惑。远程设备是github,也是git回购的本地镜像

    你想要多少镜子就有多少。“全部”将包含所有分支

    就你的情况而言,如果我理解你的问题,我会做如下工作:

  • 有一个deploy分支(您似乎将其命名为Remote-a,这个名称让我感到困惑):这个分支应该总是正确的
  • 拥有一个python2开发分支(建议名称:py2dev),以防在部署python3代码之前需要对python2部署的代码进行修改
  • 有一个python3迁移分支(建议名称:py3),您将在其中迁移python2代码
  • 虽然python3迁移尚未准备就绪,但您可以在计算机中的py2dev分支上进行开发。如果您想发布某些更改,您可以在远程(即github)中发布这些更改,然后在部署的repo中从远程(github)中提取这些更改

    当python3迁移准备就绪时,您将再次将更改推送到远程,然后获取它们,并在部署的服务器中执行git checkout py3。如果出现问题,您可以执行
    git签出部署
    ,这样您就又安全了


    有许多git工作流。这应该是一个简单的问题。

    我很可能对正确的术语和Git的工作方式感到困惑。我会试着在脑海里想象这一切,然后回到这个答案上来。非常感谢。到目前为止,我使用git所做的一切,基本上都是从几个本地文件夹推拉到github中的单个分支。你感到困惑是正常的,我也遇到过这种情况。我建议您对一些愚蠢的存储库和远程设备(包括github,但也包括您自己局域网中其他计算机中的本地镜像和远程设备)进行一些练习。然后您将看到远程和分支是多么不同。它可能很复杂,但也很强大。我很可能会对正确的术语和Git的工作方式感到困惑。我会试着在脑海里想象这一切,然后回到这个答案上来。非常感谢。到目前为止,我使用git所做的一切,基本上都是从几个本地文件夹推拉到github中的单个分支。你感到困惑是正常的,我也遇到过这种情况。我建议您对一些愚蠢的存储库和远程设备(包括github,但也包括您自己局域网中其他计算机中的本地镜像和远程设备)进行一些练习。然后你会看到