`
jnn
  • 浏览: 288218 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

How to work on the offline subversion repository

阅读更多

Subversion作为开源社区的使用广泛的版本管理工具获得越来越多人的认可。由于其设计理念的关系,简化branch的很多功能,同时对于Merge的功能支持有限,为了能够支持分布式的开发就需要大家采用频繁少改动量的方式向代码库中提交代码,这样尽量减少代码中的冲突。一旦你的网络环境改变了,例如出差或者是休假,那你就很难在你的代码中进行复杂的操作。

 

这里可以和举一个简单的例子,就是你现在想对你的代码进行refactoring的操作,需要修改一些类名(svn mv classA.java classB.java),但是这时你对classA.java 已经进行了一些修改,这样如果你不能及时将你的修改操作进行提交的话,那你就无法很方便的执行上面的重命名操作。

 

那有没有有一个好的方法能帮我完成一个离线的Subversion代码修改呢?<p>我上个礼拜在出差的过程中就遇到这样的问题,由于当时的环境不允许我连入公司内部网络提交代码,我需要构建一个离线的本地开发环境来记录我对代码的修改,同时在回到公司之后将这些代码修改提交到公司内部的Subversion repository。

 

通过Google 我找到了一个叫做Git的版本管理工具,这个软件提供了一个git-svn 子命令,这样你就可以轻松实现一个基于你的Subversion代码库基础上新独立的Git代码库,当然这样你自己在本地的修改可以被Git管理起来,通过 git-svn 完成Subversion代码库 到 本地代码库的同步,以及本地代码库到Subversion代码库的同步工作。

具体步骤如下

1. 使用 git-svn clone <your svn url> projectname

2. 这时你可以放心出差或者是度假了,如果有必要你可以在 projectname 目录下进行你的工作

3. 使用git commit -a -m "I am commiting the code offline " 提交你的代码

4. 当你的出差或者是度假回来

5. 你可以使用 git-svn rebase 来获取自从你离线之后SVN的所有改变信息,当然如果发生冲突了,那还是需要你手工解决这些冲突。

6. 然后你可以使用 git-svn dcommit将你的工作内容提交Subversion的代码库中,当然没有人知道你在用Git来管理你本地的代码;)

 

是不是有点动心了,我们现在开始准备安装Git。

如果你是Linux用户,大家可以用apt 或者 yum 来获取Git 的安装包。

对于Windows用户,目前我知道的方法就是通过CygWin安装git包。

如果你是Vista用户,你会遇到一些额外的问题,好在这些问题都有相关的解决方法,你可以参考Capi's Coroner 的 Blog

 

0
0
分享到:
评论
2 楼 jnn 2008-04-09  
本人觉得git的branch和merg功能比svn强大很多,在权限管理上面是有些问题,但是如果是team开发,开发者基本上都是拥有读写权限的。
git提供了branch的功能,不同的开发者可以在自己的branch工作,使用Git + SVN也是一个team开发问题的解决方案。

1 楼 老熊 2008-04-02  
好像git没有权限控制功能?这在team似乎是个问题。

相关推荐

    Git Version Control Cookbook 无水印pdf 0分

    Finally, you will discover how you can work offline with Git, how to track what is going on behind the scenes, and how to use the stash for different purposes. What you will learn Understand the ...

    Git.Version.Control.Cookbook.1782168451

    Finally, you will discover how you can work offline with Git, how to track what is going on behind the scenes, and how to use the stash for different purposes. What you will learn from this book ...

    From Online Behaviors to Offline Retailing

    Original Paper of 《From Online Behaviors to Offline Retailing》 P. Luo, S. Yan, Z. Liu, Z. Shen, S. Yang and Q. He. From online behaviors to offline retailing. In KDD, 2016. ...

    How to be a Programmer

    Available on gitbook to read online or download for offline reading (as PDF, ePub or Mobi) Available to buy as a hardcover book (cost covers production & shipping only) - Edition 1, published 04/01/...

    How to use postman

    ### 如何使用Postman进行前端调试 #### Postman简介与安装 Postman是一款非常流行的前端调试工具,它作为Chrome浏览器的扩展程序存在,能够帮助开发者高效地构建、测试API接口。用户可以从Chrome网上应用店()...

    how2j_offline_2020.01.31.zip

    《JavaWeb开发全面指南——基于how2j_offline_2020.01.31.zip资源》 JavaWeb开发是计算机科学领域中的一个重要分支,它涉及到一系列技术和框架的综合应用,为开发者构建动态、交互式的Web应用程序提供了强大支持。...

    Image Retrieval via Decoupling Diffusion into Online and Offline Processing

    Efficient Image Retrieval via Decoupling Diffusion into Online and Offline Processing Efficient Image Retrieval via Decoupling Diffusion into Online and Offline Processing Efficient Image Retrieval ...

    how2j_offline_2020.01.31.rar

    首先,"how2j"这个名字可能来源于"How to Java"的缩写,表明这是一个专注于Java教学的平台或项目。其离线客户端意味着,用户无需联网即可进行学习,这对于网络环境不稳定或者希望通过离线方式深入研习的开发者来说,...

    Git.Mastering.Version.Control.pdf

    including different options to rewrite the history of a Git repository before you discover how you can work offline with Git, how to track what is going on behind the scenes, and how to use the stash...

    Git Version Control Cookbook 2nd Edition

    Git Version Control Cookbook builds on the success of the previous edition and provides you with an up-to-date guide to solving problems related to versioning. You’ll start by learning about the ...

    网站绐终显示app_offline.htm的解决方法

    To enable the application, remove the app_offline.htm file from the application root directory.” 这个问题对于许多开发者来说可能非常困扰,但了解其背后的原理及解决方法之后,其实并不复杂。 #### 一、...

    HTML5 and CSS3

    how to use the canvas to draw shapes. You’ll also get to see how to use CSS3’s shadows, gradients, and transformations, as well as how to learn how to work with fonts. In the last section, we’ll ...

    Java_how2j_offline.rar

    本站提供的主要课程,总共 7 个阶段,69个模块,共 1476 个知识页面!包含:Java基础、Java中级、Java高级、Java应用、Java框架、Java工具及中间件、分布式和集群、数据库、第三方开发、实践项目、面试题!

    how2j_offline.rar

    "how2j" 可能是 "how to Java" 的简写,暗示了资源内容是关于学习Java编程语言的。描述中提到“基础不牢固的也可以”,意味着这份资料可能覆盖了Java的基础知识,适合初学者。 标签 "自学java" 进一步确认了这个...

    Building Blockchain Projects -Packt Publishing((2017).pdf )

    IPFS, use the strings library to work with strings, and more. Chapter 8, Building Enterprise Level Smart Contracts, explains how to use Truffle, which makes it easy to build enterprise-level DApps. We...

    Unity Offline Render

    It allows you to capture the game view to a multi-channel OpenEXR or multiple PNG files, supporting not just the final output image, but also some common elements, like depth, per-light shadows, ...

    Comparing consumer complaint responses to online and offline environment

    比较线上抱怨和线下抱怨的影响因素,并对其进行分析,利用了TPB理论。

    The Future of Retail

    Offline-to-Online (O2O) advocates is that, as more offline retailers are closing, brick-and-mortar stores, the transaction volumes for online stores will only continue to grow. For brick-and-mortar ...

    离线文字转语音-Overtone - Realistic AI Offline Text to Speech (TTS)

    离线文字转语音——Overtone - Realistic AI Offline Text to Speech (TTS)

Global site tag (gtag.js) - Google Analytics