利用Git进行项目代码管理之初级版

来源:互联网 发布:迅雷mac 编辑:程序博客网 时间:2024/06/06 03:42

Git的正常工作流程:

(1)在master分支确保目前处在最新状态:

[master]$ git svn rebase

(2)创建一个新分支,并且同时切换到这个新分支:

[master]$ git checkout –b NewBranch

(3)打开新分支下的工程项目,进行相关的修改:

修改完成后,就可以将这些修改先提交到本地的git库中:

[NewBranch]$ git commit –am “ModifiedNewBranch”

(4)接下来需要创建一个供review代码使用的patch:

[NewBranch]$ git svn-diff >../NewBranch.patch(路径名)

注:../ 表示在源代码的上一级建立一个供review的分支,尽量要保持源代码文件夹没有其他新生产的文件。

此时便可以等待reviewer者对提交的代码进行review了。

当然git的好处就是,在等待本分支review的过程中,还可以进行另外的开发,而不受之前分支的影响。此时,需要先切换回master分支,然后再建立一个新的分支,然后后续操作同上。

 

当提交的patch已经被review了,需要根据review log中的意见逐条进行修改。此时的步骤为:

(5)更新追踪分支:

[master]$ git svn rebase

(6)然后需要将修改后的代码与master分支进行合并;

[master]$ git checkout NewBranch

[NewBranch]$ git rebase master

(7)此时,如果进行修改的位置与现在svn的有冲突时,就需要进行相应修改来解决冲突;解决冲突的一般办法为:git rebase --continue/--skip/--abort.

(8)   修改完成后,再次提交代码和review.

(9)待再次review通过,ship it后,便可以将该分支的代码真正提交到svn服务器了。

[master]$git svn rebase

[master]$git merge NewBranch –m “review:id what you want to say”

然后,最后进行提交svn服务器。

[master]$git svn dcommit.

(10)在将分支提交完成后,如果想删除分支,可以采用:

[master]$ git branch –d NewBranch  删除分支;

[master]$ git branch –D NewBranch  强制删除分支。

 

特殊问题解决——已经遇到好几次了

在提交svn时,会遇到由于之前多次提交,导致提交不上去的情况。遇到这种情况的解决方法是:

(11)再建立一个新的分支,命名为[newmaster],并且将其与svn先rebase。

[master]$ git branch newmaster remotes/git-svn

[master]$ git checkout svnmaster

[newmaster]$ git svn rebase(可省略,因为newmaster就和svn是同一个base)

(12)然后,将之前无法提交的分支全部merge到这个新建的newmaster分支上来。

[newmaster]$git merge master(或者NewBranch) - - no-commit - - squash

[newmaster]$ git commit –m “review:id what you want to say”

[newmaster]$ git svn dcommit


在利用Git进行分支管理时,最好联合SourceTree进行管理。SourceTree可以完成命令行的功能,而且还有图形化界面,可以随时看到每一条

指令完成后,对应的分支情况。