之前翻译的DICOM3.0标准是在本地创建的git仓库,并非在github上创建,此时别人是无法访问的,当初的目的是想待标准翻译初步完成后再提交到github上。
然而由于本地的翻译工作采用MarkDownPad进行编辑,文档中的图片需要有一个公网URL才能在文档中显示(注:马克飞象工具是可以直接将剪切板中的图像插入到MarkDown文档致中的,目前马克飞象已经出了Windows和IOS的客户端,下载),因此就在Github上创建了DICOM-Chinese的仓库,并在其中创建了Figure子文件夹用于存放文档中出现的所有图片。
既然如此为了省去两个git仓库之间编辑的繁琐,今日希望将本地.git仓库“Part 8:Network Communication Support for Message Exchange”合并到“DICOM-Chinese”中,并且希望保留“Part 8:Network Communication Support for Message Exchange”之前的所有提交记录。——就是此次博文要讲的主要内容,详情如下:
#``` bash
#跳转到DICOM-Chinse目录,即.git所在目录
cd c:\DICOM-Chinese
#添加Part8-NCSME到DICOM-Chinese
git remote add other ../Part8-NCSME
#从Part8-NCSME仓库抓取数据到DICOM-Chinse本地库
git fetch other
#从Part8-NCSME仓库抓取master分支到本地DICOM-Chinese,命名为part8
git checkout -b part8 other/master
#切换回DICOM-Chinese的master分支
git checkout master
#合并part8分支到DICOM-Chinese本地master
git merge part8
#```
git index有时候也称之为staging area或cache;git working tree也为称为working directory
从下图可以看出working tree就是working directory,即文件系统中的.git的父目录,该目录中是我们具体操作的所有文件,类似于SVN中的本地工作副本。示例如下图所示:
由于git采用分布式管理,本地同时包含上述workspace、index、local repository三个部分。因此git中的checkout指令比svn中的checkout功能复杂。svn的checkout就是从服务器端下载仓库副本到本地指定目录,由于git本地目录包含仓库文件,以及本地缓冲,因此checkout提供分别从不同地方重新检出代码的功能,如下图所示:
版权声明:本文为zssure原创文章,转载请注明出处,未经允许不得转载。
原文地址:http://blog.csdn.net/zssureqh/article/details/48091067