我有大量使用Python 2.7编写的Scrapy爬虫。我需要将它们全部转换为支持Python 3。 此过渡必须一次性完成。一旦准备好部署,我就只能开始使用Python 3搜寻器。我不能一次部署1个搜寻器。
我目前有一个远程分支,即主分支。 将其称为“ Remote-A” 。那是保存所有搜寻器的分支,并且每天都会执行它们。该分支必须保持功能。
对于该远程分支,我有本地文件夹/分支,在其中修复错误并创建新的错误。 让我们将其称为Local-A。从主控器中,我将其推入并拉出。
现在,由于“所有操作必须保持活动状态”,因此我需要用于Python 3搜寻器的单独的远程分支。 该分支可以称为Remote-B。我已经手动创建了该分支,因此整个存储库现在有两个分支:Master(Remote-A)和一个用于Python 3爬网程序(Remote-B)。 ),它是Master分支的副本。
我还手动创建了一个文件夹,并从Python 3分支下载了一个zip文件。 该文件夹称为Local-B。我的想法是从Python 3分支中删除所有(2.7)搜寻器,或者只是开始一个一个地替换它们。
总结一下。我将本地A连接到远程A。我还需要将本地B连接到远程B。这两个连接不应混在一起。
请记住,我对GIT不太满意,并且我是过渡项目的唯一负责人,所以我希望一切都如丝绸一般顺利。我知道很容易在GIT中造成很多损害。
因此,我的工作流程要求我保持正在运行的爬网程序每天运行,并努力将旧的爬网程序升级到Python3。如何使A侧和B侧之间的切换变得容易,而又不会引起浩劫?
答案 0 :(得分:2)
如果我理解您的问题,恐怕您对分支和远程的概念有些困惑。远程是github,也是git存储库的本地镜像。
您可以根据需要设置任意数量的镜像。全部将包含所有分支。
就您而言,如果我也理解您的问题,我将按照以下说明进行操作:
虽然python3迁移尚未完成 ,但您可以在计算机的 py2dev 分支上进行开发。如果您要发布某些更改,则可以将这些更改发布在您的远程服务器(即github)中,然后从部署的存储库中从该远程服务器(github)中获取这些更改。
准备好python3迁移后,您可以将更改再次推送到远程,然后获取它们,并在已部署的服务器中执行git checkout py3
。如果出问题了,您可以执行git checkout deploy
,这样您就再安全了。
有很多git工作流程。这应该很简单。