2016-11-21 89 views
0

我在一个大型的多用户git仓库中工作。为了避免大量结账,我使用稀疏结账,这对我来说非常合适。只包括一些目录的分支

----------------- master ----------------------------------- 
    |     |     | 
ProjectA   ProjectB    ProjectC 

现在我想创建不同的分支,但我无法弄清楚创建只包含一个目录的分支的方式。假设我想创建一个只包含ProjectA的新分支,我可以这样做吗?

回答

2

以正常方式创建分支(假设远程名称为origin)。

步骤1

git checkout master 
git checkout -b ProjectA 
git push -u origin ProjectA 

git checkout master 
git checkout -b ProjectB 
git push -u origin ProjectB 

git checkout master 
git checkout -b ProjectC 
git push -u origin ProjectC 

步骤2

git checkout ProjectA 

删除所有目录不属于项目A

git add -A . 
git commit -m"All source code of ProjectA" 
git push -u origin ProjectA 

步骤3

git checkout ProjectB 

删除所有目录不属于项目B

git add -A . 
git commit -m"All source code of ProjectB" 
git push -u origin ProjectB 

步骤4

git checkout ProjectC 

删除所有目录不属于项目C

git add -A . 
git commit -m"All source code of ProjectC" 
git push -u origin ProjectC 

(但你的方法是不是最好的做法。)

+1

我能想象这个答案将是什么样子,如果OP列入问题 – Leon

+0

多个目录为了便于理解的。 –

+0

@Leon这不是一个用bash标记的问题,也不需要进入详细程度来传达解决方案的前提。 –