码迷,mamicode.com
首页 > 其他好文 > 详细

对一个项目的完整git操作

时间:2016-07-29 22:47:48      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:

将git上项目下载到本地

1、将项目下载到本地

     git clone (git项目地址)

2、进入项目文件夹中(cd 某文件夹) 切换到要使用的分支

     git checkout develop

3、抓取远程仓库develop分支更新并合并到本地

    git pull origin develop

开发迭代阶段,以在develop上开发为例

 修改相应文件后,用git status (可查看文件哪些被修改)

                           git  add  文件路径  (选择本次提交文件,文件路径可以是多个文件路径 中间用空格隔开)

                           git  commit (此时会进入vim模式 ,记录此次提交的commit描述)

                           git  push origin develop

                           git  pull origin develop 

 

开发后期,release稳定版本 develop开发新特征,项目改动bug要merge到两个分支

背景:目前我们开发的项目【云表单】,要用到两个分支,develop、release,develop是用于开发新特征,release是相对稳定版本,测试测release版本,测试通过会直接推到maven仓库,1是供其他项目调用,2推到线上,如果在这个过程中有bug要怎么解决?我们的方案是bug提交到release分支,当然还要提交到develop分支,我的开发经理强烈建议切一个自己的本地分支来修改bug,(可以随意改动,反正不会影响别人 O_O 哈哈)以下以新建分支0730bug_release为例

1、在release分支上切一个自己本地的分支,并切换到新分支

     git checkout -b  0730bug_release(自己命名,我习惯以当前日期开头,在哪个分支上拉出来的新分支为结尾)

    【这个命令等价于】:

     git  branch 0730bug_release  (创建新分支)

     git  checkout  0730bug_release (切换分支)

2、在新切分支0730bug_release修改bug

     修改相应文件后,用git status (可查看文件哪些被修改)

                               git  add  文件路径  (选择本次提交文件,文件路径可以是多个文件路径 中间用空格隔开)

                               git  commit (此时会进入vim模式 ,记录此次提交的commit描述)

     这个过程可重复多次

3、假设多次提交后,要merge到使用的两个分支上

     首先:git status 查看本地文件是否有修改,但不想提交的

             如果有,git stash (将这些改动的文件暂存起来)

    【merge到release】:因为这个分支是成release分支上切出来的,所以这个过程相对简单

             git checkout release

             git pull origin release

             git merge 0730bug_release

             如果这个命令执行或 产生冲突,那就去解决冲突好了 ,解决完冲突之后

             git  push origin release

   【merge到develop】:0730bug_release不是从develop拉取出来的,所以会有些不一样

             git log  (在当前分支0730bug_release找一个commitId,这个commitId是当前所要merge的第一次提交的前一个commitId)

             git checkout develop

             git  pull origin develop

             git  checkout  0730bug_release

             git  rebase --onto=develop commitId

             git checkout develop

             查看是否有冲突 解决冲突

             git push origin develop

   【merge一次提交到哪个分支都一样,以merge到develop为例】

            git  log ( 在当前分支0730bug_release上,找到要merge的commitId)

            git checkout develop

            git  pull origin develop

            git  cherry-pick commitId

            查看是否有冲突 解决冲突

            git  push origin develop

其他常用命令

            git branch (查看本地所有分支)

            git branch -D 0730bug_release(强制删除0730bug_release分支)

            git reset --hard commitId  (回滚到某次commitId状态)

 

 

             

 

                              

 

对一个项目的完整git操作

标签:

原文地址:http://www.cnblogs.com/zhaoyawei/p/5719802.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!