将目录与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 DataInputStream UTFDataFormatException:字节88周围的输入格式错误根本原因   排序后的java输出?   Java 7 nio文件属性窗口   使用迭代器的Java fire bullet   Selenium Java Webdriver NoClassDefFoundError:org/apache/http/config/RegistryBuilder   java NDK<Utils/Log。h> 没有这样的文件或目录   java OpenCV,从图像中剪切片段   java从非线程安全类实例化线程安全类   链表的java插入方法   多线程在测试中杀死java线程   无法将泛型项实例化为Java列表   java AjaxFormComponentUpdateingBehavior onkeypress   JavaSpringBootOAuth2:无用户信息端点如何直接在客户端从JWT访问令牌加载身份验证(主体)   多线程Java线程不能并行工作   java如何从soap响应中提取相同元素类型的列表?   java SAT4J隐含用例   java检查字符串是否使用规定的规则集形成   打开写入java的eclipse文件