首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git版本差异

Git版本差异
EN

Stack Overflow用户
提问于 2013-04-30 02:31:25
回答 2查看 220关注 0票数 1

我主要使用SVN,现在是Git新手。我在Linux上使用"git svn“来处理我的MacBook存储库,但有时我不得不远程工作,因为我对办公室网络的唯一访问是在ssh连接到中间的Linux服务器之后,然后是在办公室网络中的我的Mac服务器,它也有一份git-svn存储库的副本。端口转发已禁用,因此不能选择从我的SVN远程使用ssh隧道连接到office MacBook。

现在,当我在远程并且想要获得最新的代码时,我更新我的远程存储库,转储我在Git上的版本和文件的最新版本之间的差异,通过中间服务器将其通过ftp传输到我的MacBook专业版,然后在我本地的MacBook存储库中修补文件。我使用一些bash/expect脚本在一定程度上自动化了这个过程,但我没有修订注释和使用Git的所有灵活性。

有没有一个很好的方法来转储差异,包括所有的修订信息到一个文件,ftp它,并将其应用到我本地的Git库?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-30 03:01:34

你想要git bundle

假设abcd1234是您笔记本电脑上存储库中的最新提交。在拥有Git存储库的计算机上:

代码语言:javascript
复制
git bundle create myrepo.bundle abcd1234..master

现在将其复制到您的笔记本电脑上,然后:

代码语言:javascript
复制
git pull /path/to/myrepo.bundle master

当然,您可能还希望说服IT部门允许您设置端口转发,或者通过在中间机器上运行netcat来自己设置端口转发。

票数 1
EN

Stack Overflow用户

发布于 2013-04-30 02:57:17

Git的神奇之处在于每个存储库都是平等的。这意味着您可以采用如下工作流:

  1. 在中间服务器上执行一个Git克隆。该服务器现在拥有存储库的完整克隆。
  2. 执行从中间服务器到本地计算机的辅助Git克隆。现在,您可以通过正常的拉/推操作自由拉入和推送到登录到中间服务器的中间server.
  3. Periodically,以便与原始服务器同步。

这个工作流程让Git做它最擅长的事情,也就是为你管理增量。

现在,为了更有趣一些,您可以在本地克隆的.git/config文件中设置一个单独的“远程”条目来引用这个中间服务器,这样您就可以根据您所在的位置自由地选择拉/推的位置。

当你在家里的时候,你输入git pull myintermediate master,当你在工作的时候,你输入git pull origin master

欢迎来到伟大的Git。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16285726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档