如何轻松在远程github分支和本地分支/文件夹之间切换?

时间:2019-09-10 11:06:19

标签: python git github scrapy

会发生什么?

我有大量使用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侧之间的切换变得容易,而又不会引起浩劫?

1 个答案:

答案 0 :(得分:2)

如果我理解您的问题,恐怕您对分支和远程的概念有些困惑。远程是github,也是git存储库的本地镜像。

您可以根据需要设置任意数量的镜像。全部将包含所有分支。

就您而言,如果我也理解您的问题,我将按照以下说明进行操作:

  1. 有一个 deploy 分支(您似乎将其命名为 Remote-A -一个让我感到困惑的名称):该分支应该总是正确的
  2. 具有python2开发分支(建议名称: py2dev ),以防您需要在部署python3代码之前对python2部署的代码进行修改
  3. 具有python3迁移分支(建议名称: py3 ),您将在其中迁移python2代码

虽然python3迁移尚未完成 ,但您可以在计算机的 py2dev 分支上进行开发。如果您要发布某些更改,则可以将这些更改发布在您的远程服务器(即github)中,然后从部署的存储库中从该远程服务器(github)中获取这些更改。

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

有很多git工作流程。这应该很简单。