git版本控制多人协作管理

Crasph彬 125 0

在来到公司之前一直没有好好用 Git 来管理分支,偶尔使用过小乌龟svn,但是并没有感受到其强大之处(主要原因是并没有多人写作), 到了新公司多人协作开发时,使用 Git 才真正知道他真正的强大之处。

开始

   首先第一步,是与远程建立关联,此时有两种情况。第一:起始初本地有代码;第二:本地无代码从远程克隆。

使用命令行推送已存在的仓库

//git实例化,会在文件夹中生成.git的文件,如本地有可省略
git init
//本地仓库关联远程的仓库
git remote add origin <git远程地址>
//把本地的master分支推送到远程并设置推送远程master时可直接使用git push
git push -u origin master

使用命令行创建仓库

//从远程克隆
git clone <git远程仓库>
//添加个新文件
echo 'aaa' >> test.txt
//添加所有文件到缓冲区,添加某一个文件可使用git add index.php
git add .
//提交代码并设置提交的内容
git commit -m '更改的内容说明'
//把本地的master分支推送到远程并设置推送远程master时可直接使用
git pushgit push -u origin master

git协同开发人员操作

首先,开发人员应该在本地建立一个自己的分支,例如crasp

//创建分支
git branch crasp 
//切换分支到crasp
git checkout crasp

然后,开发人员可以在自己的分支上进行开发功能,代码等,开发完成之后

//查看状态,红色表示未add,绿色表示未commit
git status
//查看更改的内容
git diff
//添加到缓冲区
git add .
//提交到本地仓库
git commit -m '修改index'

在自己分支操作完成之后,代码需要合并到主分支上,此时需要切换到主分支进行代码合并

//切换主分支
git checkout master
//拉取远程代码
git fetch

ps:

git fetch 此操作原因是其他开发人员可能往主分支提交代码,此时本地master的版本可能会落后于远程的主分支,此处获取推荐使用 git fetch, 不推荐使用 git pull 因为 git pull 会将代码获取后自动合并到当前分支并提交到本地仓库, 不利于检查冲突, git fetch 会将远程分支存在到本地但不会合并, 只需要自己手动合并。

//合并代码
git merge crasp
//提交远程
git push origin master

然后本地代码也需要合并

//切换crasp分支
git branch crasp
//合并分支代码
git merge master

tag

打标签的作用,就是给项目的开发节点,加上语义化的名字,也即功能版本的别名。
打上标签名的同时,写上附带信息,可以方便项目日后维护过程中的回溯和复查。
另外,也可以通过标签记录,大致了解当前项目的向下兼容性、API的修改和迭代情况。

下面就简单说一下tag的添加,删除等操作。

//打便签名为v1.0.0
git tag v1.0.0
//标签推送远程
git push origin v1.0.0
//删除本地标签
git tag -d v1.0.0
//标签推送远程,与上一命令何用标识删除远程标签
git push origin v1.0.0

ps

小弟也是才管理 Git 一个月,并且主要用的还是图形化的sourceTree,把自己这一个月的想法和经验分享给大家,如果有什么错误,直接提出,我最喜欢听别人给我的建议,只有那样我才能完善得更好,做得更好。

最后,推荐大家一个图形化的git管理工具,sourceTree,简单好用,方便易读,目前公司也较多使用这个工具。


支付宝打赏
微信打赏
发表评论
表情 图片 链接 代码

分享
微信
微博
QQ