忽视了目录,它涵盖上窗户
题
我怎么能忽视的目录或文件夹在Git使用msysgit在Windows?
解决方案
其他提示
默认窗口时在-事实文件名.gitignore
Explorer将显示.gitignore.txt
GIT中不会使用.gitignore.txt
而你不能重命名文件.gitignore
因为探险家认为它的一个类型gitignore的文件,没有名称。
非命令行的解决方案:
You can rename a file to ".gitignore." and it will create ".gitignore"
它似乎忽略文件和目录还有两个主要方面:
.gitignore
- 放置
.gitignore
文件根的仓库除了.git
文件夹(Windows确保你 看到真实的文件的延展 然后让.gitignore.
(有点结束时做出空洞的文件的扩展)) - 使全球结构
~/.gitignore_global
和运行git config --global core.excludesfile ~/.gitignore_global
添加这一目的配置
注:文件的跟踪之前可能未跟踪运行
git rm --cached filename
- 放置
排除回购协议 -对于当地文件,不需要共享,你只是添加文件的模式或目录的文件
.git/info/exclude
.这些规则不是犯,所以 都没有看到其他用户 更多信息 在这里,
[新] 作出例外,在列表中忽略文件,看看 这个问题.
我有一些问题产生在Windows Explorer中有一个文件。开头。
一个解决方法是进入commandshell和使用创建一个新的文件“编辑”
指示GIT忽略某些文件或文件夹,你必须创建.gitignore
文件。
但在Windows资源管理器,你必须为文件提供一个名称,你就不能创建只是扩展文件,关键是创建一个空的文本文件,然后转到命令提示符并切换到.gitignore
的文件名
ren "New Text Document.txt" .gitignore
现在打开你最喜欢的文本编辑器文件,并添加你希望你忽略的文件/文件夹的名称。你还可以使用通配符这样*.txt
希望这回答了你的问题。
如果你想保持它里面的文件夹,而不是文件,只是把“的.gitignore”的文件夹中有‘*’的内容。该文件会忽略从资源库的所有内容。但.gitignore
将在您的回购协议。
$ git add path/to/folder/.gitignore
如果添加空文件夹,在收到此消息(的.gitignore是隐藏的文件)
The following paths are ignored by one of your .gitignore files:
path/to/folder/.gitignore
Use -f if you really want to add them.
fatal: no files added
因此,用 “-f” 给力增加:
$ git add path/to/folder/.gitignore -f
在Windows上有一个额外的抓用斜杠。排除在一个目录中的的.gitignore 强>与
dir_to_exclude /
将可能的工作,但不包括与所有目录
/
会导致问题,当你有文件名与目录的空格(my file.txt
):Git的bash的逃脱这些空间用反斜杠(如my\ file.txt
)和Git为Windows /
和\
之间没有区别
要排除所有目录,更好地利用:
** /
两个连续asteriscs表示目录内容。
此外,在您的\.git\info
项目目录有一个排除的文件,实际上是一回事.gitignore
(我认为)。您可以添加文件和目录,要忽略。
忽略的整个目录中的一件简单的办法是包括一个.gitignore文件内的目标目录,其中只包含"*"
一个说明性的例子,
例系统
/root/
.gitignore
/dirA/
someFile1.txt
someFile2.txt
/dirB/
.gitignore
someFile3.txt
someFile4.txt
目标
- 忽略的内容/dirB/
顶部的水平。gitignore(/root/.gitignore)
- 这是你的标准gitignore信息去
忽略目录。gitignore(/root/dirB。gitignore)
- 这个文件的只读为'*'和目录是完全忽略,本身和所有的文件!
而它是那么简单:)
万一你需要排除子文件可以使用通配符**
排除子目录中的任何水平。
**/build/output/Debug/
我有一些问题让git的皮卡在Windows上的.gitignore文件。在$ GIT_DIR /信息/排除文件似乎总是工作,虽然。这种方法的缺点,但是,是在$ GIT_DIR目录中的文件不包含在登记入住,因此不是共享的。
(P.S. $ GIT_DIR通常是隐藏的名为git的文件夹)
可以与内容创建 “的.gitignore” 文件:
*
!.gitignore
它为我和simples。
在一切都失败尝试编辑文件
/。GIT中/信息/排除
和添加你想要的目录到文件的末尾,就像这样:
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
assets/
compiled/
我添加文件夹“资产”和“编译”文件和目录忽略列表中。
我认为问题是,你的工作树是这样的:
a-cache/foo
a-cache/index.html
b-cache/bar
b-cache/foo
b-cache/index.html
.gitignore
...跟你描述.gitignore
。这会给你git status
像输出:
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
# a-cache/
# b-cache/
... 如果的index.html
文件还没有被添加到存储库。 (GIT看到有在缓存目录不可忽视的文件,但只报告目录)。为了解决这个问题,请确保您已添加并承诺index.html
文件:
git add *cache/index.html
git commit -m "Adding index.html files to the cache directories"
...和你git status
然后将看起来像:
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
nothing added to commit but untracked files present (use "git add" to track)
(显然,你要提交.gitignore
为好,我只是懒惰这个测试案例。)
在Unix的:
touch .gitignore
在视窗:
echo > .gitignore
在一个终端中执行这些命令将在创建当前位置的.gitignore
文件。
然后,只需添加信息到哪个文件或文件夹应被忽略此.gitignore
文件(使用记事本++例如)。保存更改。就是这样:)
在Windows和Mac,如果你要忽略在当前目录中名为Flower_Data_Folder文件夹,你可以这样做:
回波Flower_Data_Folder >>的.gitignore
如果其文件名为data.txt中
回波data.txt中>>的.gitignore
如果它像 “数据/ password.txt的” 路径
回声 “数据/ password.txt的” >>的.gitignore。
我有类似的问题,我在Windows工具链的工作是与Linux的人共享的回购,他们happlily用相同的[除的情况下在一个给定的文件夹名称创建文件。
的效果是,我可以克隆回购和立刻有几十“修改”文件,如果我检查人员会造成严重破坏。
我有Windows设置为区分大小写和git到不能忽视的情况下,但它仍然失败(在Win32 API调用显然)。
如果我gitignore的文件,然后我要记住不要跟踪的.gitignore文件。
不过,我发现了一个很好的答案在这里 的http://存档.robwilkerson.org / 2010/03/02 / GIT-尖端忽略-变化到跟踪-文件/ index.html中
克里斯