伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

轻松玩转【git】分布式版本管理 II

来源:本站原创 浏览:54次 时间:2022-11-19

先把git的几个基本概念再次描述一下,工作区workspace:就是你的工作目录,新增或修改后并未加入git管理;暂存区stage:执行add命令之后的状态,新增或修改之后加入到git管理,尚未提交到版本库;版本库:执行commit提交后的拥有唯一id的一个定版。

git在本地进行版本控制其实和svn区别不大,svn是连接中央服务器,git相当于自己在本地完成版本控制。不同的是git有远程仓库,你可以从远程下载资源,在本地进行资源版本控制,然后将本地资源推到远程仓库。可以自行搭建一个git服务器,这里就借助一下github公共仓库。

在github上创建一个repository,有了这个远程仓库就可以从这里clone资源,或者关联这个远程仓库,push资源到这里。本地执行push之后,远程仓库就可以看到本地资源了。现在本地可以版本控制,可以同步远程多人协作,可谓进可攻退可守。

#新增一个远程仓库 origin作为远程主机名称
$ git remote add origin git@github.com:maidepiao/git_test.git
#本地推向远程主机origin的master分支 -u指定默认主机
$ git push -u origin master

下面搞一下分支开发,多人协作为了互不干扰免不了创建资源分支,在svn的时代,拉取分支可谓是和创建新目录没什么区别,最后分支修改完还要合并到主干上,相比git而言太重了,看看git是怎么做的。

上篇说过了,git是以修改作为版本控制,所以在这里创建一个分支就相当于创建了一个版本,这个版本与主干版本互不影响,当分支开发完就可以把主干版本指向这个分支版本,这样主干和分支就算合并了。

#创建并切换到分支dev
$ git checkout -b dev
#正常创建分支
$ git branch dev
#正常切换分支
$ git checkout dev
#查看分支 输出带表示当前分支
$ git branch

创建完分支就可以在分支里随便造了,当然造完了需要在分支里先提交,提交就有唯一id版本号了,一会合并的时候把主干指向这边就ok了。

#切回主干分支,主干合并要在主干里做
$ git checkout master
#简单粗暴快速合并
# git merge dev
#合并完删掉分支,这比svn不知6了多少倍
$ git branch -d dev
#查看当前版本库,只剩*master
$ git branch

如果自己本地玩,怎么提交都不过分。当多人协作时,合并时很可能出现冲突,这时需要手动解决冲突,然后再提交。解决冲突需要人工干预,这和svn没什么区别,处理完冲突之后,重新add并commit。

上面的合并属于git快速合并模式(Fast forward),这种模式下删除分支版本时无法追溯当时分支资源,比如分支代码当时提交了,因为解决冲突时没有合并到主干,那么删除分支版本后,分支提交的东西就丢掉了。

#--no-ff禁用ff模式,可以保留一次提交id
$ git merge --no-ff -m '合并并生成一次提交id' bug

合并操作在git log里有详细记录,可以查看下分支合并演进:


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net