我目前正在使用Subversion存储库,但是我正在使用git在我的计算机上本地工作。它使工作变得容易得多,但同时也使Subversion存储库中发生的某些不良行为变得非常明显,这给我带来了问题。
下拉代码后,本地构建过程有些复杂,它会创建(不幸的是修改)许多文件。显然,这些更改并不意味着会被提交回存储库。不幸的是,构建过程实际上是在修改一些跟踪的文件(是的,很可能是因为有人在某个时候将这些构建工件错误地提交给了Subversion存储库)。由于这些都是修改,因此将它们添加到我的忽略文件中对我没有任何帮助。
我可以避免将这些更改退回去,我只是简单地不暂存或提交它们,但是拥有未暂存的本地更改意味着我必须先清理它们才能重新建立基础。
我想知道的是,是否有任何方法可以忽略将来对一组跟踪文件的更改?另外,还有其他方法可以解决我遇到的问题,还是只需要告诉谁签入这些文件来清理它们即可?
我.gitignore在几个目录中有一个文件(例如log/),其中包含以下内容:
* " Ignore everything in this directory
!.gitignore " Except this file
Run Code Online (Sandbox Code Playgroud)
尽管如此,如果该目录中有一个文件,git status则向我显示它是新的但未跟踪.
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# log/blah.log
nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)
我发现stackoverflow上的其他帖子建议在第一行和各种其他形式或随机伏都教上发表评论,但没有任何效果.
简单地说,我想在我的仓库中存在一个tmp/和log/目录,但是空的.我不希望任何人被骚扰将他们的日志和tmp文件添加到这些目录.
我如何在Cloud9(c9.io)上编辑gitignore,这样我就可以添加.c9revisions /文件夹,以避免将它添加到我在github上的repo.
每次我使用git config --global core.excludesfile~/.gitignore_global它都没有做任何事情,任何人都可以帮助我,谢谢.
所以我想忽略除文件和特定文件夹之外的所有内容:
rben@ubuntu:~/sites$ ls
development-box puppet sites Vagrantfile www-cms www-common www-mmfa
rben@ubuntu:~/sites$ cat .gitignore
*
!Vagrantfile
!puppet/
rben@ubuntu:~/sites$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# Vagrantfile
nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)
我期待在未跟踪文件列表中看到puppet.我怎么能只包含目录木偶?
我想知道是否可以在存储库中包含命名 .gitignore文件,例如:
Composer.gitignore
Node.gitignore
Run Code Online (Sandbox Code Playgroud)
以上两个示例都显示在GitHub的gitignore模板存储库中(可能这可能有点误导).
我已经尝试添加Composer.gitignore到我的存储库,似乎文件没有被读取(我正在使用SourceTree).
编辑:
添加Boldewyn添加的相关信息并未直接回答问题:
该页面的自述文件说:
.gitignore模板集合,它就是这样:只有模板.如果要使用它,请选择它,将其放入存储库并重命名为.gitignore.git只识别列出被忽略文件的两个位置:
.gitignore文件夹/子文件夹中的文件和文件.git/info/ignore.有关git help gitignore详细信息,请参阅.
我正在尝试将单个非跟踪文件添加到位于其中的目录中的存储库中.gitignore.
我使用以下内容:
parent/child/*
parent/child/child-02/*
!parent/child/child-02/file.txt
Run Code Online (Sandbox Code Playgroud)
这通常适用于第一个子目录,但不适用于上述格式.我错过了什么?
是否可以创建一个.gitignore忽略以#?开头的文件或文件夹的文件?
例:
#DATABASE_FILES
#DOCUMENTATION
Run Code Online (Sandbox Code Playgroud) 我目前正在使用BitBucket为我的repos与git引擎.我不使用github,因为它是一个私人项目,所以我不能公开它.
当我.gitignore用gitignore.io 创建我的文件时,试图忽略PhpStorm和WebStorm,Gitkraken(这是我Mac上的git客户端),它不会忽略该.idea文件夹.每次我更改我的工作区布局打开或关闭侧边栏或文件,然后git跟踪该更改.我无法弄清楚什么是错的,因为我也试着设置.idea/中.gitignore,但它里面的文件仍追踪...
有任何想法吗?
我碰到了这个.gitignore文件,无法理解。特别是第一行*~和第二行也是如此。
以下是完整的内容,供快速参考:
*~
\#*\#
*.swp
tmp/*
private/**/*
public/cache
.DS_Store
.#*
example_presentation.html
Run Code Online (Sandbox Code Playgroud)
请解释一下。在哪里可以找到gitignore使用的模式的详细语法(除手册页外)?
我已经尝试过的人的页面,但很可惜,我发现模式的描述有不那么有用。因此是一个问题。