Git 团队协作使用说明

12. May 2017 Git 0

Git业务流程


分支策略

在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活.

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master.

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,需要时往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样:

客户端配置

1.创建管理ssh密钥

在默认用户的主目录路径下,运行以下命令,按照提示创建(可直接回车略过)

$ cd ~

$ ssh-keygen -t rsa

公钥和私钥默认会保存在~/.ssh目录下,如下所示:

id_rsa(私钥)

id_rsa.pub(公钥)

known_hosts(已知传输主机列表)

2.将客户端的公钥文件通过ssh复制到服务器下:

$ ssh-copy-id [email protected]39.224.1.11

3.Git服务器同步文件

$ git clone [email protected]139.224.1.11:~/repositories/colleges.git

(1)在本地创建远端不存在分支

创建个人开发分支vincent

$ git checkout -b vincent

将本地分支推送到远程仓库

$ git push -u origin vincent

(2)在本地创建远端存在的分支

首先创建一个对应的本地分支

$ git checkout -b dev

然后拉取远端dev分支,并建立上游追踪关系:

$ git pull origin dev

这里pull命令的格式是:

$ git pull <远程主机名> <远程分支名>:<本地分支名>

其中我们省略了冒号:之后的本地分支名,那么则默认为本地当前分支。

pull命令等同以下的两条命令:

$ git fetch origin dev:dev

$ git merge origin/dev

个人推荐使用fetch/merge的方式获取远端数据。

4.Git添加文件

git add -u:将文件的修改、文件的删除,添加到暂存区。

git add .:将文件的修改,文件的新建,添加到暂存区。

git add -A:将文件的修改,文件的删除,文件的新建,添加到暂存区。

5.Git常用命令

git init //初始化已存在文件

git config –local -l //查看git配置(local只针对本项目有效,还有systemglobal)

git config –local user.name lijiancode//添加用户名

git config –local user.email [email protected] //添加电子邮件

git add -A //添加内容

git commit -m ‘dragon ball file’ //填写提交说明

git remote add origin https://github.com/lijiancode/dragonball //设置远程仓库的地址

git rm –cached 文件名  删除git索引中特定文件的内容

git reset HEAD  文件名  从文档库  删除已经执行过git commit的文件

git reset –hard HEAD 文件名  不仅把git commit的文件从文档库移出来,恢复了本地文件。

git branch -d 分支名称  删除分支(不能删除当前分支)

git branch lijian 创建分支

git branch 查看分支

git branch –list 查看分支

checkout 分支名称  切换分支

git branch -m 名称  修改当前分支名称

gitk all 显示所有分支

git checkout HEAD 取出文档库中最新的版本

git checkout HEAD ^取出文档库中次新版本

git merge lijian  把lijian分支合并到当前锋分支节点,不产生新节点

git merge –no-ff lijian  把lijian分支合并到当前分支,产生新的节点

git merge –abort 回滚到分支合并冲突之前的状态

git revert commit 节点  回到指定节点的上一个节点

git log  查看节点信息,还可以加上“–graph”和“–online”参数

git remote add origin https://github.com/lijiancode/Angular 添加路径地址

git push origin master 把本地文档库中的代码上传到服务器

git checkout 指令有一种情况:如果取出的指令和当前文档库中最新的commit的文件内容不同,这个文件内容记录在git索引中,执行git commit的时候会存入文档库成为新的节点。避免这种情况的方式是执行 git checkout HEAD

git-bash出现[master +1 ~0 -0 !]>

added (+)
modified (~)
deleted (-)
conflict (!)

 

推荐git教程

Git官方教程:

https://git-scm.com/book/zh/v2

阮一峰git教程:

http://www.ruanyifeng.com/blog/2014/06/git_remote.html