使用git将os x客户端上的项目目录与远程服务器同步。

GitSync的Python项目详细描述


此工具允许开发人员在本地计算机上处理文件,并在远程系统上同步其工作。它使用git来管理同步过程。

启发这个工具的用例是web开发,开发环境是一个远程服务器。许多最有用的开发工具都需要(或者至少工作得更好)在低延迟环境中。因为本地文件系统的延迟和它的延迟一样低,所以确实有您想做的工作。然而,如果您真的想运行您的应用程序,您需要您的代码在一个远程系统上,这就出现了一个问题。尤其是当你的本地机器和远程机器之间没有高速连接时。

此工具将本地文件系统和远程系统的同步“带外”以便减少中断。

这个工具在很大程度上依赖于git版本控制系统。在您尝试使用它之前,我建议您对git的工作原理有一个基本的了解。这个工具应该处理大部分(如果不是全部)工作,但是如果你想充分利用它的功能,你需要了解git是如何工作的。以下是一些开始的地方:

OS X依赖项

跳过任何安装软件的步骤。

  1. 安装xcode和命令行工具。 https://duckduckgo.com/?q=OS+X+xcode+command+line+tools

  2. 安装自制程序 http://mxcl.github.io/homebrew/

  3. 安装git

    brew install git

  4. 安装python

    brew install python

  5. 安装终端通知程序。

    brew install terminal-notifier

  6. 安装PIP

    easy_install pip

  7. 安装gitsync

    pip install GitSync

  8. 手动安装最新版本的pync。如果你有错误抱怨 关于PYNC没有正确安装,您应该手动安装 最新版本。 https://github.com/SeTeM/pync

远程依赖项

远程系统需要设置以下内容。

  1. ssh访问。
  2. ssh密钥,允许在必须输入密码的情况下进行身份验证。
  3. 需要安装git。

配置

git sync的假设是(现在)你的东西的最新版本在远程系统上。

在第一次同步时,它将假定本地文件系统上的位置为空,它需要做的第一件事是从远程系统中拉下文件。

  1. 复制示例配置文件(examples/git_sync.yaml),为其指定适当的名称。
  2. 设置配置文件中的所有值。 -本地路径:这是本地计算机上要将文件放入的路径。 -local_branch_name:要git sync使用的git分支的名称。 -远程主机:要使用的远程系统的IP或域名。 -远程用户:您在远程系统上的用户名 -远程路径:远程系统上包含要同步的文件的路径。 -git_ignore:希望git忽略的模式列表,在此上下文中,这意味着这些是无法同步的文件。

当前Git用户:注意

如果您已经在使用git进行版本控制,请小心。这个已经被拿走了 考虑到(有点)但还没有真正的测试。在未来我们 我完全支持。

运行git_sync.py

在终端中运行以下命令:

git_sync path/to/your/config/file.yaml

它应该做一些设置工作。如果这是初始同步,如果有很多更改,或者网络连接很慢,这可能需要很长时间。

一旦完成就开始工作。打开文件。保存文件。创建文件。每次您执行导致文件系统事件的操作时,您都会看到一个低沉的通知:git sync已经启动,在另一个git sync完成后不久。

同步完成后,检查服务器,更改应该已同步。

许可证

  • [许可证](许可证)([麻省理工学院许可证][麻省理工学院])

[MIT]:http://opensource.org/licenses/MIT“MIT许可证(MIT)”

更改日志

0.1.2(2014-07-18)

  • 更好的图书馆包装系统。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
数组JAVA登录页面;如何使用阅读记事本两次?   在堆分析期间提供未知类名的java jprofiler   SpringJava反应器Mono<Tuple2>。zipWith(Mono<>)应返回Mono<Tuple3>   java如何在图形对象上绘制填充椭圆?   java JavaMail支持通过CRL或OCSP进行证书撤销检查吗?   如何使用自制cask升级到最新版本的java JDK?   java为什么从/manager重新启动应用程序会导致大量“此web应用程序实例已停止”警告。为什么?   图形如何在Java中绘制文本上方的线   java如何使Tomcat 7应用程序向后兼容?   java struts中的差异路径类型是什么。xml?   JavaSpringBootJPA表层次结构   java ChangeListener功能,用于使用时间延迟/或其他解决方案检查键入的值   java如何使Libgdx粒子不受背景颜色的影响?   c#无法读取JSON:无法构造java实例。util。从字符串值开始的日期