git流程分析

git的两个闭环

在这里插入图片描述

git与svn不同,git是分布式版本控制工具,有本地仓库以及远程仓库之分
本地仓库闭环分析:	
	首先我们要初始化一个git的本地仓库,一般来说我们可以直接在一个文件夹下 git init 便可以得到我们的本地仓库
	而工作区就是我们要使用git进行管理的代码区域,
	当我们在工作区进行了代码的修改之后,就可以通过 git add 来先将我们的代码添加到缓存区,然后再commit到本地仓库
	当然我们也可以将本地仓库的代码检出(check out)到我们的工作区,这样就形成了一个本地仓库所在的闭环

整个流程
	当我们的代码提交到了本地仓库之后,由于是分布式开发,我们需要与其他人进行代码的分工协作,所以我们需要将代码
	在远程仓库中进行协作,即共享到远程仓库
	此时我们就需要执行 push 将代码推送到远程仓库.当我们需要与远程仓库保持一致的时候,需要pull(这个过程相当于 
	fetch获取 与 merge合并)
	而当我们作为新加入项目的人时候,我们第一次从远程仓库获取代码的时候,可以直接执行git clone ,这就是远程仓库
	与本地的闭环

个人理解

在每次准备写代码的时候,要首先进行git pull(这个过程是 fetch and merge 的过程) 
把项目从远程仓库中拉取到本地的工作区,再进行编码,在push的时候再进行一次pull,进行冲突的解决.
这样会一定程度的减少提交之后对代码的冲突

一个比较好的流程思路

在网上看到一个问答,觉得很有道理,就记录下来了
git支持很多种工作流程,我们采用可以是这样,
远程创建一个主分支,本地每人创建一个功能的分支,流程如下:

每个人在自己的工作分支
$ git checkout self

编码

提交工作分支的修改
$ git commit -a

回到主分支
$ git checkout master

获取远程最新的修改,此时不会产生冲突
$ git pull

回到工作分支
$ git checkout work

用rebase合并主干的修改,如果有冲突在此时解决
$ git rebase master

回到主分支
$ git checkout master

合并工作分支的修改,此时不会产生冲突。
$ git merge work

提交到远程主干
$ git push

这样做的好处是,远程主干上的历史永远是线性的。每个人在本地分支解决冲突,不会在主干上产生冲突。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值