使用git的时候,我们往往使用branch解决任务切换问题,例如,我们往往会建一个自己的分支去修改和调试代码, 如果别人或者自己发现原有的分支上有个不得不修改的bug,我们往往会把完成一半的代码 commit提交到本地仓库,然后切换分支去修改bug,改好之后再切换回来.这样的话往往log上会有大量不必要的记录.其实如果我们不想提交完成一半或者不完善的代码,但是却不得不去修改一个紧急Bug,那么使用’git stash’就可以将你当前未提交到本地(和服务器)的代码推入到Git的栈中,这时候你的工作…
转自:http://www.tonitech.com/2344.html 最近在一个原有的项目上做一次非常大的改版,底层的数据库做了很大的变化,跟现在的版本无法兼容.现在的工作除了开发最新的版本之外还要对原来的版 本做例行的维护,修修补补.于是有了在两个分支之间游走切换的问题,最新改版的代码在分支new上,旧版本的代码在分支old上,我在new上开发了一 半,忽然有人给了我一个改进的需求,于是我要切换回old去修改代码.在这个场景下,我摸索了三种方法: 及时commit代码 在new分支上把已经…
最近遇到一个问题,事情是这样子的,刚刚接到客户说他的项目有问题,于是就打开本地的源码查看经过排查确定了问题,于是就开始进行修正工作 将问题修复好准备提交到git的时候发现当前的分支是不对的,但问题是我已经在当前分支了作了大量修改,如果要切换分支则必须先要将修改过的文件先提交 那么现在问题来了:如何在不提交commit的情况下来切换分支呢? 最后通过查看Pro Git文档了解到Git中有一个stash功能可以实现 6.3 储藏(Stashing) 来源: <http://git.oschina.n…
 作者:朱金灿 来源:http://blog.csdn.net/clever101 有软件就有bug,这意味着软件研发不仅仅是新功能开发,更要拿出相当一部分精力去修改bug.但基本很多软件开发者并不喜欢修改bug,对这项工作的厌恶程度并不下于写文档.究其原因有以下几点:一是修改bug并不会带来像开发新功能那么大的成就感,甚至修改bug意味着承认自己开发的软件中存在缺陷,这毫无疑问会给人一种沮丧感:二是修改别人开发模块的bug意味着吃别人的狗粮,等于自己要去读懂别人写的代码,理解别人的思路,弥…
工作除了开发最新的版本之外还要对原来的版本做例行的维护,修修补补.于是有了在两个分支之间游走切换的问题,最新改版的代码在分支 new 上,旧版本的代码在分支 old 上,我在 new 上开发了一半,忽然有人给了我一个改进的需求,于是我要切换回 old 去修改代码.在这个场景下,我摸索了三种方法: 及时 commit 代码 在 new 分支上把已经开发完成的部分代码 commit 掉,不 push,然后切换到 old 分支修改代码,做完了commit,所有分支互不影响,这是一个理想的方法. 使用…
创建 $ git init  #在当前目录下创建一个空的本地仓库 $ rm -rf  .git  #删除本地仓库 $ git add .  #把当前目录下的所有文件添加到暂存区 $ git commit  -m 'project init'  #创建提交 $ git clone <url>  #克隆远程版本库 修改提交 $ git status  #查看状态 $ git diff  #查看变更内容 $ git add .  #跟踪所有更改的文件 $ git add <file>  …
当我们创建一个新的分支dev,并且在新分支上修改了原文件,在我们没有提交到仓库的前提下,将分支再切换到master分支上,执行git status ,可以看到dev操作的状态: (1)因为未add的内容不属于任何一个分支, 未commit的内容也不属于任何一个分支. 也就是说,对于所有分支而言, 工作区和暂存区是公共的. (2)你在dev分支修改了文件,但是你没有提交到仓库,实际上就是相当于你在本地手动修改了这个文件仓库并不能保存你做的改动,所以在master分支能看到文件被改动了(相当于你没用…
  版本控制git之二 分支   有人把 Git 的分支模型称为它的`‘必杀技特性’',也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出. 为何 Git 的分支模型如此出众呢? Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷. 与许多其它版本控制系统不同,Git 鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多次. 理解和精通这一特性,你便会意识到 Git 是如此的强大而又独特,并且从此真正改变你的开…
下文的实践主要是参考了TortoiseSVN的帮助文档和Subversion的在线文档,Subversion的在线文档:http://svnbook.red-bean.com/en/1.5/svn-book.html 先说说什么是branch.按照Subversion的说法,一个branch是某个development line(通常是主线也即trunk)的一个拷贝,见下图: branch存在的意义在于,在不干扰trunk的情况下,和trunk并行开发,待开发结束后合并回trunk中,在bran…
1.打分支: 右击项目--Subversion--Branch or Tag 点击OK,分支就创建成功了,接下来我们切换到分支v2 2.切换分支: 右击项目--Subversion--Update Directory 勾上Update/Switch to specific url 点击右边...省略号 选择v2,点击OK,就切换到分支v2了.如果不小心勾选了 那么  右击项目--Subversion--Update Directory会直接拉取设置好的分支,无法重新选择分支,此时需要去设置里修改…