我怎么能忽视的目录或文件夹在Git使用msysgit在Windows?

有帮助吗?

解决方案

在项目中创建的目录中的文件名为.gitignore

:通过输入的目录名到该文件中(标有斜线)忽略目录
dir_to_ignore/

更多信息此处

其他提示

默认窗口时在-事实文件名.gitignore Explorer将显示.gitignore.txt

GIT中不会使用.gitignore.txt

而你不能重命名文件.gitignore因为探险家认为它的一个类型gitignore的文件,没有名称。

非命令行的解决方案:

You can rename a file to ".gitignore." and it will create ".gitignore"

它似乎忽略文件和目录还有两个主要方面:

  1. .gitignore

    • 放置 .gitignore 文件根的仓库除了 .git 文件夹(Windows确保你 看到真实的文件的延展 然后让 .gitignore. (有点结束时做出空洞的文件的扩展))
    • 使全球结构 ~/.gitignore_global 和运行 git config --global core.excludesfile ~/.gitignore_global 添加这一目的配置

    注:文件的跟踪之前可能未跟踪运行 git rm --cached filename

  2. 排除回购协议 -对于当地文件,不需要共享,你只是添加文件的模式或目录的文件 .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文件(使用记事本++例如)。保存更改。就是这样:)

的更多信息: https://www.atlassian.com/git/教程/保存-更改/ 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中

克里斯

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top