如果我有一个项目:
project/
- A
- B
- C
如果我想隔离目录"A",如何设置 git,以便我可以忽略除"A"之外在其他地方完成的任何其他工作?
显然,我想忽略在"项目/B"、"项目/C"中添加或修改的任何文件,以及通常添加或修改为"项目/"的任何文件,显然除了"A"。
我为什么要这样做?
我想这样做的原因是因为A,B,C不相互依赖。我想避免合并包含旧版本B的A版本的可能性,因为从那里开始事情变得混乱。
这个错误显然是可以避免的,但我想设置我的项目,所以这是不可能的。
我尝试过:
我想到的是在此模式中的每个分支中使用 .gitignore 文件(位于 @ project/.gitignore(:
# project/.gitignore of branch_name => DIR_NAME
/*
!/DIR_NAME/
这是行不通的,因为如果我要将任何分支合并到 master 中,我会与不同的项目/.gitignore 文件发生冲突。同样,我可能会想出一种方法来避免每次我想合并时都合并 .gitignore 文件,但是有更好的方法或官方方法来达到我正在寻找的效果。
要忽略其他项目,请创建一个根级.gitignore
文件并添加以下行:
project/B/
project/C/
要验证是否忽略了其他项目,可以使用git status --ignored
。
有关详细信息,请参阅 https://git-scm.com/docs/gitignore。