将目录与git存储库同步;对于跟踪dropbox之类的“哑”协作软件特别有用

gitobox的Python项目详细描述


此程序将dropbox目录(或任何目录)与git存储库同步。目录中的任何更改都将在指定的分支上创建新的提交,对该分支的推送将更新目录。

请注意,这与将.git文件夹放入Dropbox不同。在这里,dropbox中没有任何与git相关的内容,gitobox为您提供了一个单独的双向同步git存储库,您可以使用它来代替dropbox(或者继续使用dropbox并将git历史记录保存起来以备将来参考)。

部署指南

首先,它打算部署在某种服务器或“总是在”计算机上。虽然gitobox可以在其他设置中正常工作,但它无法检测和记录脱机时发生的版本,因此在恢复同步时,您将得到一个“大提交”,从而使历史记录变得不那么有用。

如果安装了python并安装了pip,那么安装gitobox很容易:

$ pip install gitobox

只需创建一个将被同步的git存储库:

$ git init dropbox-project

自动提交将使用本地标识创建,因此您可能还需要设置该标识:

$ pushd dropbox-project
$ git config user.name "dropbox"
$ git config user.email "gitobox@my-own-server"
$ popd

然后启动gitobox:

$ gitobox ~/Dropbox/my-project dropbox-project/.git

然后你可以克隆那个仓库和tada!您可以使用git而不是dropbox:

$ git clone my-working-copy dropbox-project

常见问题解答

为什么要做吉托博克斯?

因为我们都有不知道如何使用git的朋友/同事,有时你不得不和他们一起工作。

有效吗?

是的!虽然不是很彻底(自动?)经过测试,它确实有效。

我能用Linux以外的东西吗?

是的!通过使用watchdog,现在应该支持所有平台。

我能用点别的东西吗?

任何可以在新更改到来时通知gitobox的版本控制系统都应该可以工作;您只需编写通知、签入和签出代码的替换。我自己也不打算这么做,但欢迎使用补丁!

除了Dropbox我还能用别的吗?

是的,gitobox不知道dropbox是什么,它只是监视一个目录。这是通过rsync、ftp、dropbox、google drive还是bittorrent sync进行更改并不重要。

尝试从同步系统中获取元数据(即进行更改的用户的名称)可能会很酷,但这还没有编写。

是否可能发生冲突?

是的,这是因为Dropbox没有锁定机制。git存储库在目录更改时将不接受推送,对于git端的冲突,将发生通常的“非快速前进;先拉”行为。然而,如果有人在git写入dropbox时更改了dropbox,冲突就会发生,并将由dropbox自己的机制解决。这将在git中创建一个新的提交,因此您可以从git中修复它(但是冲突的文件将并排放置,即dropbox方式)。gitobox还试图检测到这一点,并在您按下时向您发出警告,因此请阅读这些“remote:”消息!

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

推荐PyPI第三方库


热门话题
java ajax请求不允许POST请求   java引用Android应用程序中其他模块的通用模块   JavaSpringBootWebFluxFlatmap是链接http调用的正确方法吗?   java如何在底部工作表中设置折叠工具栏?   任务“:compileJava”的java执行失败。“>无效的源版本:1.7   java Rabbit MQ不刷新ACK?   JavaWebSphere7:METAINF/config/ibmaxis2。无法正确加载xml Axis2全局配置文件   在Java中找出字符串是否包含数组中的值   java Liquibase通过Springboot执行postgres方法   java在Eclipse中安装Maven而不使用插件   Swing应用程序中的java SMTP错误   web应用程序InvalidKeyException:Java中使用RSA密钥的密钥格式无效   java显示JFrame作为JButton单击的结果?   java如何保留Apache Camel Exchange的属性,如果消息是从RabbitMQ生成和使用的   java使用流提取哈希映射列表中的所有对象   Android应用程序中的java单词检查器