Git的使用规范

Git开发流程图如下:

Git的使用规范_第1张图片

Remote Server上最重要发布的版本是图中Trunk Repository这个仓库,所有开发人员在Gitfork出自己的仓库,也就是图中Your GitHub Repository这个仓库。

为了方便测试,自己可以注册两个github的账号,我的Trunkgithub账号是yejingtao;另一个账号yejingtaomgtv模拟remote server上的成员账号,用yejingtao账号创建主仓库,yejingtaomgtv从主仓库的fork按钮fork出一个个人仓库。

 

右侧本地部分分为绿色和彩色两大部分,绿色是工作区,也就是你代码编写、运行、调试的区域;ABC等彩色部分是暂存区,暂存区是本地与Remote交互的缓冲区。

 

将自己Remotegit仓库clone到本地

$git clone https://github.com/yejingtaomgtv/testgit.git

如果需要指定remote版本clone,添加-b branchname参数

 

通过git status来查看代码状态,如下图我status了两次,第一次是刚clone下代码时,第二次是修改了部分文件后。

Git的使用规范_第2张图片

 

然后自己开发过程提交代码分为addcommit两布

$git add .

Or

$git add [filename]

常用是这两个,第一个是添加当前目录下所有变更文件到缓冲区;第二个是指定文件名的方式。

 

提交代码

$git commit –verbose

如果你看到如下报错:

Git的使用规范_第3张图片

是因为remote git需要你的认证信息,可以根据提示通过git config来配置自己的账号密码信息。

$git config --global user.name"yejingtaomgtv"

$git config –global user.email“[email protected]

配置成功后再次执行:

$git commit –verbose

Git的使用规范_第4张图片

该页面看起来花花绿绿,其实只需要关注红框的部分:

1, 提交的版本

2, 绿色的是变更的文件的列表

3, 后面详细部分,白色的是没有变动的,不需要关系,红色减号开头的是被删除的,浅蓝色加号开头的是被添加的。其实我只是在两个文件中各添加了一行”new”而已,不知道为什么git把原本的最后一行也做了删除和添加的操作。

你也可以只git commit,省略修改细节,而且强烈建议通过-m给你的更新添加一些注释,我常用的提交命令:

$git commit -m “修改注释信息

Git的使用规范_第5张图片

 

以上只是将工作区代码提交到了本地仓库,你可以留意下你github上的代码都没有被修改。

pushRemote仓库前需要获取最新的Trunk Repository的代码,因为很可能你的小伙伴在你开发的工程中做了版本更新。

 

首先要在本地再添加一个远程的Trunk Repository的分支,在我的案例中就是yejingtao的远程git地址

$git remote add upstream https://github.com/yejingtao/testgit.git

 

为了方便测试,自己去yejingtaogithub上修改一些内容,来模拟主线版本的更新。

OK,下面将主线代码更新到本地,也就是上图第5步:

$git fetch upstream

Git的使用规范_第6张图片

这里只是将Remote Trunk更新到了本地的缓冲区,你可以去自己的文件系统里也就是工作区去看一下,并没有真正更新到你的项目。

 

$git merge upstream/master

如果看到下面报错,说明版本冲突了,需要通过git log命令查看下

$git log -p upstream/master

同样只需要注意加减号就行了。

Git的使用规范_第7张图片

 

Merge结束后,再执行一下git status

Git的使用规范_第8张图片

如果刚才merge有冲突的地方你会发现你的工作区冲突的文件变成了:


<<<<<<< HEAD
new
=======
55555555
>>>>>>> upstream/master

等号上面是你本地缓冲区的内容,等号下面是你刚从upstreammerge下来的内容,自己手动修改下决定如何处理。

 

修改完毕后,请继续addcommit,然后执行上图第7步操作:

$git push

 

Push成功后你自己的Remote仓库里的版本就更新了,你如果想合并到Trunk版本,需要向管理员发起merge请求,由Trunk管理员review完你的代码后确定合并。



你可能感兴趣的:(互联网)