在这种特殊情况下编写.git的最佳实践
鉴于my repo中的以下冗长文件夹结构,想象所有这些文件夹都有一个子文件夹和子文件夹、子文件夹等等(仅显示前两个级别): 基本上,我只想在这种特殊情况下编写.git的最佳实践,git,Git,鉴于my repo中的以下冗长文件夹结构,想象所有这些文件夹都有一个子文件夹和子文件夹、子文件夹等等(仅显示前两个级别): 基本上,我只想 跟踪jim_文件夹及其所有子目录、文件 子目录和所有子目录以及所有文件 在它里面,等等等等 以及取消跟踪其他目录及其子目录及其下的每个文件或目录,即取消跟踪amy_文件夹,jerry_文件夹,tim_文件夹,以及其中的每个文件或目录 问题: 据我所知,在这种情况下,有两种编写.gitignore的方法: 忽略回购协议中的所有内容,除了jim_文件夹及其所
- 跟踪jim_文件夹及其所有子目录、文件 子目录和所有子目录以及所有文件 在它里面,等等等等
- 以及取消跟踪其他目录及其子目录及其下的每个文件或目录,即取消跟踪
,amy_文件夹
,jerry_文件夹
,以及其中的每个文件或目录李>tim_文件夹
.gitignore
的方法:
jim_文件夹
及其所有子目录和所有子目录等李>
jim_folder
包含许多sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub,sub
另一方面,我不知道如何在第二种方法中编写.gitignore文件,是否还需要在.gitignore中指定要忽略的文件夹的整个结构?因为那将意味着很多很多线
我相信在这个问题上有一个最佳做法。我想听听他们的意见 对于#1:
对于#2:
jim_folder/***
匹配jim_folder的任何子目录中的任何文件。显然,你还需要为jim_文件夹做一个例外。这让我很惊讶,但这是有道理的,因为jim_文件夹本身不是jim_文件夹或其子目录中的东西,所以它与jim_文件夹/***
不匹配
编辑:它-让我知道这是否适合您。您可以使用此
。gitignore
模式:
/*
!/.gitignore
!/jerry_folder
是否也要跟踪
jim_文件夹下的name.txt
文件?是。我想(递归地)跟踪jim_文件夹中的所有内容
,取消跟踪amy_文件夹
、jerry_文件夹
和tim_文件夹
中的所有内容。一切都是指所有文件、子目录、子目录、子子目录……这里的**
是什么意思?我使用的是git 2.1.3版
。在实施您的解决方案#1之后,我只在未跟踪的文件中看到jim_folder/
,但是像jim_folder/sub_jim_folder/sub_name.txt
和jim_folder/sub_jim_folder/sub_sub_name.txt这样的东西仍然没有显示出来。尝试输入git add jim_folder/sub jim_folder
-通常git不会列出没有跟踪到的目录的内容git状态
。对我来说,当我添加jim_文件夹时,我也会得到它的内容。
*
!.gitignore
!jim_folder
!jim_folder/**/*
amy_folder
tim_folder
jerry_folder
/*
!/.gitignore
!/jerry_folder