Git检出指定的目录-稀疏检出

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oscar999/article/details/81974673

出于费用和潮流考虑,转换代码控管工具,从Perforce转到Git。权限根据部门进行设定,根据部门设定访问项目库的权限。现状是:
1.同一个部门有不同的项目
2.同一个项目有不同的独立子项目。举个例子,某个项目包括Web 和Web Service两个独立分开的子项目, 甚至有复杂的情况。
针对第二种状况, 在Perforce中可以把子项目放在同一个目录下, 取代码时,目录对到对应的子目录即可,而在打label的时候可以在父目录上统一打就可以了。对应到Git, 该如何处理?是拆分成多个库?还是放在一个库的不同子目录下?
与相关项目负责人商量之后, 有的项目坚持使用第二种,好处是tag可以统一打, 缺点就是单个库内容比较多, 初次检出需要耗费较长时间,而且每次都会检出不需要的代码, 某个开发者只需要参与一个子项目就不需要检出其他的项目。多余的目录不必要且困扰,如何检出特定的目录?
Git提供了sparse的方式用来处理这个问题。
sparse - 稀疏的; 稀少的;所以也称作稀疏检出。

假设项目路径如下:
project1
-webprj
-webwsprj
现在只想检出webprj,
步骤:
1. cd D:\project1\webprj
2. git init
3. 修改 .git/config
加上 sparsecheckout = true
4. 新建 .git\info\sparse-checkout 文件, 内容为:
webprj

  1. git remote add origin http://XXX/project1.git
  2. git fetch origin master
    git pull origin master:master - 会自动merge

猜你喜欢

转载自blog.csdn.net/oscar999/article/details/81974673