克隆仓库
git clone git@222.197.180.140:sulirong/v2g.git
查看远端仓库
git remote show -v
发现git将git@222.197.180.140:sulirong/v2g.git命名为origin- git remote show 远端仓库名
如
git remote show origin
查看 origin仓库中哪些分支已经被跟踪,以及为pull配置的本地分支,为push配置的本地引用。此时只有master分支跟踪了远端仓库的master分支 ##跟踪分支(tracking branch) - git checkout -b [分支名] [远程仓库名]/[分支名] 或:( git checkout --track 远程仓库名/分支名 以rainySue分支为例,此处命令为: `) git checkout --track origin/rainySue`
- 生成一个跟踪远端分支的本地分支(以实现以后该本地分支的push和pull对象均为改远端分支) >命令行提示:分支 rainySue 设置为跟踪来自 origin 的远程分支 rainySue。切换到一个新分支 'rainySue' ##创建本地分支 ####本地创建新分支
- git checkout 本地分支名
- 更标准的说法:在本地检出一个新分支
- 检出的新分支和检出前所处分支一模一样 ####为本地新分支建立远端跟踪
- git push –set-upstream 远端仓库名 远端分支名
- 更标准的说法:在本地检出一个新分支
- 检出的新分支和检出前所处分支一模一样
协作方式
假定工作的主要参考分支为rainySue分支,开发者l和z(分别维护lbranch和zbranch下),和管理员(维护参考分支)共同参与开发。以成员l为例。
开发者克隆仓库后的操作
- 在新克隆的仓库中中检出跟踪分支rainySue。
- 然后在rainySue分支下输入git checkout -b lbranch。此时本地仓库的test分支与rainySue分支一致(因为是在rainySue分支基础上创建检出的)。
- 最后输入git push origin lbranch.即可创建远端同名分支并且推送本地分支内容。(此时远端分支为其跟踪分支) ###开发者的工作流程(以l为例)
- git fetch:拉取远端仓库的最新信息
- 进入rainySue分支,输入“git pull”,将远端rainySue分支合并到本地rainySue
- 进入lbranch分支,输入“git merge rainySue”,将rainySue分支合至lbranch(将参考分支内容合并至自己的工作分支)
- 开发(修改代码),add,commit
- 输入“git push”将所提交修改推送至远端lbranch分支。
- 向manager提交merge request ###管理者的工作流程 与开发者类似,只是管理员维护参考分支,及时将各个开发者推送到服务器的上的内容合并到参考分支rainySue中。使得各个开发者能从参考分支获取最新版本。