Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 到底是什么?_Git_Github_Gitignore - Fatal编程技术网

Git 到底是什么?

Git 到底是什么?,git,github,gitignore,Git,Github,Gitignore,我刚刚创建了一个Github存储库,我想知道.gitignore文件的作用是什么。我一开始没有创建一个,但添加了一个,因为大多数存储库都有一个。 我需要一个吗?我可以忽略它吗,还是它有用处? 我对这个问题做了一些研究,但找不到具体的解释。这是一个你希望git在你的工作目录中忽略的文件列表 假设您在Mac电脑上,并且在所有目录中都有.DS_存储文件。您希望git忽略它们,所以您在.gitignore中添加了一行.DS\u存储。等等 git文档将告诉您需要知道的一切:。gitignore告诉git应

我刚刚创建了一个Github存储库,我想知道
.gitignore
文件的作用是什么。我一开始没有创建一个,但添加了一个,因为大多数存储库都有一个。 我需要一个吗?我可以忽略它吗,还是它有用处?
我对这个问题做了一些研究,但找不到具体的解释。

这是一个你希望git在你的工作目录中忽略的文件列表

假设您在Mac电脑上,并且在所有目录中都有.DS_存储文件。您希望git忽略它们,所以您在.gitignore中添加了一行.DS\u存储。等等


git文档将告诉您需要知道的一切:

。gitignore
告诉git应该忽略哪些文件(或模式)。它通常用于避免从工作目录提交对其他协作者不有用的临时文件,如编译产品、IDE创建的临时文件等


您可以找到完整的详细信息。

在执行提交时,您不希望意外包含临时文件或生成特定文件夹。因此,请使用
.gitignore
列出要在提交时忽略的项

同样重要的是
git status
是最常用的命令之一,您希望在该命令中
git status
列出已修改的文件

希望您的
git状态从不需要的文件中看起来干净。例如,我更改了
a.cpp、b.cpp、c.cpp、d.cpp和e.cpp
我希望我的
git状态
列出以下内容:

git status
a.cpp
b.cpp
c.cpp
d.cpp
e.cpp
我不想
git status
用中间对象文件和build文件夹中的文件列出这样更改的文件

git status
a.cpp
b.cpp
c.cpp
d.cpp
e.cpp
.DS_Store
/build/program.o
/build/program.cmake
因此,为了让自己从
git status
中解脱出来,列出这些中间临时文件并意外地将它们提交到repo中,我应该创建一个
.gitignore
,每个人都会这样做。我需要做的就是列出
.gitignore
中我要从提交中排除的文件和文件夹

以下是我的
.gitignore
以避免提交不必要的文件

/*.cmake
/*.DS_Store
/.user
/build

有些文件您不希望Git签入。Git将工作副本中的每个文件视为三件事之一:

  • 跟踪-以前已暂存或提交的文件
  • 未跟踪-尚未暂存或提交的文件;或
  • 忽略-Git被明确告知忽略的文件
  • 被忽略的文件通常是构建的工件和机器生成的文件,它们可以从您的存储库源派生,或者不应该提交。一些常见的例子有:

    • 依赖项缓存,例如
      /node\u模块的内容
      /packages
    • 编译代码,如
      .o
      .pyc
      .class
      文件
    • 生成输出目录,例如
      /bin
      /out
      /target
    • 运行时生成的文件,如
      .log
      .lock
      .tmp
    • 隐藏的系统文件,如
      .DS\u Store
      Thumbs.db
    • 个人IDE配置文件,如
      .idea/workspace.xml
    被忽略的文件在一个名为
    .gitignore
    的特殊文件中进行跟踪,该文件签入到存储库的根目录中。没有显式的git ignore命令:相反,当您有要忽略的新文件时,必须手动编辑并提交
    .gitignore
    文件
    .gitignore
    文件包含与存储库中的文件名匹配的模式,以确定是否应忽略它们。这是一个文件。 有关更多详细信息,请查看.gitignore的主要用途,以避免添加不相关的文件等.Git
    我在某些存储库中有很多个人笔记/涂鸦:它们对我有用,但对其他任何人都没有。我不想把它上传到github,因为它只会让所有阅读它的人感到困惑。好的是,我可以让git“忽略”这些文件。这种方法的唯一代价是,如果我的计算机崩溃等,我将无法恢复这些笔记。

    您的
    .DS\u Store
    场景最终引起了我的共鸣,因为我想我没有抓住这个概念,因为我还没有在项目中使用它。非常感谢。最后,我以使用所有不同的操作系统作为起点,特别注意了
    #OS-generated files#
    部分。我知道这篇文章我来晚了,但谢谢@AndyLester!说到编程和Github,我是个新手。我发现为解决这类问题而编写的许多答案中都充满了新手可能不理解的术语(即编译产品、IDE创建的临时文件等)h@ll是这些东西吗!)。然而,您的Mac描述非常简洁优雅!因此,如果您在github.com上的新存储库中创建一个.gitignore,然后执行git init和git add。在您的本地计算机上--尚未连接到.gitignore,因为它尚未连接到该存储库--这是如何工作的?当我执行git提交时它生效吗?或者?什么是
    。\u gitignore
    ?它是否仅在
    gitignore
    位于子目录中时使用?ignore是什么意思?谁/什么/什么时候被忽略?我知道ignore这个词是什么意思,但在Git的上下文中,我没有找到一个关于ignore意思的清晰描述。显然,理解该术语的人完全可以理解该术语,但任何为不知道该术语的人定义该术语的文字都需要解释所有具有上下文特有定义的术语。@user34660 Ignore表示-Git不会跟踪(模式)指定的文件中的更改在
    .gitignore
    文件中。即使您更改了它们,git也不会将它们显示为modif