利用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可以完成命令行的功能,而且还有图形化界面,可以随时看到每一条
指令完成后,对应的分支情况。
- 利用Git进行项目代码管理之初级版
- 使用Git进行小项目代码管理
- 使用Git进行小项目代码管理
- 使用git进行小项目代码管理
- eclipse使用git进行代码项目管理
- Git进行代码管理
- ubuntu下使用git进行代码项目管理
- git管理项目代码
- 搭建git服务器进行管理项目
- bitbucket和git 进行代码管理
- bitbucket和git进行代码管理
- 用Git 进行分布式代码管理
- 使用Faric+Git进行分布式代码管理
- ubuntu下用git进行代码管理
- git进行远程代码仓库管理(二)
- 使用Git进行代码管理操作
- 开始使用Git工具进行代码管理--记在CSDN空间提交项目的开始
- Xcode利用快照进行项目备份管理
- 基数排序简介及LSD、MSD实现
- 提高你开发效率的十五个Visual Studio 2010使用技巧
- 对 Linux 新手非常有用的 20 个命令
- php例子
- In which of the following does a C++ developer use the placement new syntax to make new allocate an
- 利用Git进行项目代码管理之初级版
- 数据结构 POJ 2431 Expedition 二叉树 并查集 POJ 1182 食物链
- ubuntu下英汉字典 stardict 的安装
- hdu1789 sdut2076 Doing Homework again(贪心)
- XStream---Java对象和XML之间的转换器
- 通过gr-modtool在gnuradio中编写自己的C++模块
- 预处理命令详解
- Redis系列-JAVA与redis整合-Spring Data Redis实现一个订阅/发布系统
- ORACLE使用函数对二进制、十进制、十六进制数互相转换