DICOM:DICOM3.0标准中文版开源书籍编辑之”github仓库合并“
来源:互联网 发布:right函数 vb 编辑:程序博客网 时间:2024/06/05 19:08
背景:
作为分布式版本控制系统的代表git和github已经成为大多数开发人员首选版本控制工具。由于其不同与SVN的集中式版本管理,因此在协同工作时的方式略有不同,下面让我们来对比分析一下(这里以本人的DICOM3.0标准中文版开源书籍为例):
合并他人的Github仓库(Merge Other’s Repo on Github):
1. 查看当前状态
F:\GitTest\zssuretest\DICOM-Chinese>git statusOn branch masterYour branch is up-to-date with 'origin/master'.nothing to commit, working directory cleanF:\GitTest\zssuretest\DICOM-Chinese>git remote -vorigin https://github.com/zssure-test/DICOM-Chinese.git (fetch)origin https://github.com/zssure-test/DICOM-Chinese.git (push)other git@github-test:zssure-test/DICOM-Chinese (fetch)other git@github-test:zssure-test/DICOM-Chinese (push)zssure-thu-origin https://github.com/zssure-thu/DICOM-Chinese.git (fetch)zssure-thu-origin https://github.com/zssure-thu/DICOM-Chinese.git (push)F:\GitTest\zssuretest\DICOM-Chinese>git pullAlready up-to-date.
2. 添加他人仓库
F:\GitTest\zssuretest\DICOM-Chinese>git remote -vorigin https://github.com/zssure-test/DICOM-Chinese.git (fetch)origin https://github.com/zssure-test/DICOM-Chinese.git (push)other git@github-test:zssure-test/DICOM-Chinese (fetch)other git@github-test:zssure-test/DICOM-Chinese (push)zssure-thu-origin https://github.com/zssure-thu/DICOM-Chinese.git (fetch)zssure-thu-origin https://github.com/zssure-thu/DICOM-Chinese.git (push)F:\GitTest\zssuretest\DICOM-Chinese>git remote add kuangbi-mnhwa https://github.com/mnhwa/DICOM-Chinese.gitF:\GitTest\zssuretest\DICOM-Chinese>git remote -vkuangbi-mnhwa https://github.com/mnhwa/DICOM-Chinese.git (fetch)kuangbi-mnhwa https://github.com/mnhwa/DICOM-Chinese.git (push)origin https://github.com/zssure-test/DICOM-Chinese.git (fetch)origin https://github.com/zssure-test/DICOM-Chinese.git (push)other git@github-test:zssure-test/DICOM-Chinese (fetch)other git@github-test:zssure-test/DICOM-Chinese (push)zssure-thu-origin https://github.com/zssure-thu/DICOM-Chinese.git (fetch)zssure-thu-origin https://github.com/zssure-thu/DICOM-Chinese.git (push)
3. 下载他人仓库
F:\GitTest\zssuretest\DICOM-Chinese>git branch -v* master bb0d864 Merge branch 'master' of https://github.com/zssure-test/DICOM-ChineseF:\GitTest\zssuretest\DICOM-Chinese>git fetch kuangbi-mnhwaremote: Counting objects: 14, done.remote: Total 14 (delta 0), reused 0 (delta 0), pack-reused 14Unpacking objects: 100% (14/14), done.From https://github.com/mnhwa/DICOM-Chinese * [new branch] master -> kuangbi-mnhwa/master * [new branch] pr/1 -> kuangbi-mnhwa/pr/1
4. 导出他人仓库到新的分支
F:\GitTest\zssuretest\DICOM-Chinese>git checkout -b part5-kuangbi kuangbi-mnhwa/masterBranch part5-kuangbi set up to track remote branch master from kuangbi-mnhwa.Switched to a new branch 'part5-kuangbi'F:\GitTest\zssuretest\DICOM-Chinese>git branch -v master bb0d864 Merge branch 'master' of https://github.com/zssure-test/DICOM-Chinese* part5-kuangbi 7c23aba 6.1.2.5----6.1.3
5. 合并他人仓库
F:\GitTest\zssuretest\DICOM-Chinese>git checkout masterSwitched to branch 'master'Your branch is up-to-date with 'origin/master'.F:\GitTest\zssuretest\DICOM-Chinese>git branch -v* master bb0d864 Merge branch 'master' of https://github.com/zssure-test/DICOM-Chinese part5-kuangbi 7c23aba 6.1.2.5----6.1.3F:\GitTest\zssuretest\DICOM-Chinese>git merge part5-kuangbiMerge made by the 'recursive' strategy. Figure/Part 5/PS3.5_Table 6.1_1.jpg | Bin 0 -> 131815 bytes ...t 5\357\274\232Data Structures and Encoding.md" | 353 +++++++++++++++++++++ 2 files changed, 353 insertions(+) create mode 100644 Figure/Part 5/PS3.5_Table 6.1_1.jpg create mode 100644 "Part 5\357\274\232Data Structures and Encoding.md"
6. 提交修改到github中心仓库
F:\GitTest\zssuretest\DICOM-Chinese>git statusOn branch masterYour branch is ahead of 'origin/master' by 5 commits. (use "git push" to publish your local commits)nothing to commit, working directory cleanF:\GitTest\zssuretest\DICOM-Chinese>git push originUsername for 'https://github.com': zssure-testPassword for 'https://zssure-test@github.com':Counting objects: 19, done.Delta compression using up to 8 threads.Compressing objects: 100% (15/15), done.Writing objects: 100% (16/16), 123.50 KiB | 0 bytes/s, done.Total 16 (delta 6), reused 0 (delta 0)To https://github.com/zssure-test/DICOM-Chinese.git bb0d864..63368d4 master -> masterF:\GitTest\zssuretest\DICOM-Chinese>
请求他人合并自己的Github仓库(Pull Requests on Github):
之前在系列博文DICOM:DICOM中文版开源书籍协同编辑之“Github Pull Requests”已经介绍过使用Github提供的Pull Requests来实现多人协同编辑的具体步骤,这里就不详细介绍了,大致说一下操作流程,具体示例请阅读之前的博文。
1. Fork他人仓库
2. 修改自己的仓库
git clone git@github.com:zssure-test/DICOM-Chinese.gitgit config user.name "zssure-test"git config user.email "zssure@163.com"git config --local#此处任意修改README.md的内容git status #查看修改状态git add . #添加所有修改git commit -m "zssure git bash test" #提交修改到本地仓库git push origin master #push修改到github
3. 使用Github中的Pull Requests发出合并请求
4. 等待别人审核后合并完成
在Github的主页上能够看到各成员合并的流程和结果:
备注:
上面提到的合并他人仓库,用于自己主动将他人的修改合并到自己的仓库中;请求他人合并自己的修改,用于将自己的修改同步给组内其他人员,主要是用于将自己的修改提价到一个公共的仓库中,作为最终的发版库。
通过上述两种基本可以完成多人协作工作,当然在具体应用过程中还会遇到回滚、冲突、撤销等问题,后续会继续给出实际应用过程中的示例。
作者:zssure@163.com
时间:2015-10-10
0 0
- DICOM:DICOM3.0标准中文版开源书籍编辑之”github仓库合并“
- DICOM:DICOM3.0标准中文版开源书籍协同编辑之“Github Pull Requests”
- DICOM:DICOM3.0标准中文版开源书籍之“git版本库合并”
- DICOM:DICOM3.0标准中文版开源书籍之”本地版本管理方案“
- DICOM:开源书籍之『DICOM标准中文版』启动计划
- DICOM:DICOM3.0网络通信协议之“开源库实现剖析”
- DICOM医学图像处理:全面分析DICOM3.0标准中的通讯服务模块
- DICOM-RT:DICOM3.0标准中关于放疗的基本知识点
- DICOM:DICOM3.0网络通信协议(续)
- DICOM:DICOM3.0网络通信协议(三)
- DICOM3.0标准的特点
- DICOM3.0标准文件内容概要
- DICOM:DICOM万能编辑工具之Sante DICOM Editor
- DICOM标准之零_DICOM标准
- DICOM标准
- DICOM 标准
- github之远程仓库
- DICOM标准不完全研究之概述
- B/S学习之路—JavaScript学习笔记—第二天&DOM
- 如何分析APP功能需求、结构
- AJAX开发初探
- 判断一棵树是否为AVL树
- Visual EmbedLinux Tools 更新到 0.1.7
- DICOM:DICOM3.0标准中文版开源书籍编辑之”github仓库合并“
- OOM详解
- 反转单链表
- Cocos2d-x 3.8.1 移植Android平台注意的细节问题
- 天声人語 20151010 さんま苦いか
- Andrew Ng机器学习课程17(1)
- spring与hibernate的整合问题—事务管理
- 【Unity】UGUI血条跟随
- DoTween使用方法