如何在git中使用gitignore命令

use*_*230 107 git github

我第一次在git上工作.我已将我的分支推送到github上,它将所有库和文档都推送到github中.现在我该怎么办?如何使用gitignore命令再次避免同样的错误.

u19*_*964 137

所以基于你所说的,这些文件是你不想删除的库/文档,但也不想推送到github.假设您的项目位于文件夹your_project和doc目录中:your_project/doc.

  1. 将其从项目目录中删除(不实际删除它): git rm --cached doc/*
  2. 如果你还没有.gitignore,你可以在项目文件夹里面做一个:project/.gitignore.
  3. 放入doc/*.gitignore
  4. 暂存要提交的文件: git add project/.gitignore
  5. 承诺:git commit -m "message".
  6. 将您的更改推送到github.

  • 嗨,gitignore只是一个纯文本文件.它实际上是.gitignore(DOTgitignore).只需将您希望git忽略的文件/文件类型的名称,每行一个.示例:http://www.sujee.net/tech/articles/gitignore/ (4认同)

Ser*_*nci 34

如果您没有.gitignore文件,请先使用:

touch .gitignore
Run Code Online (Sandbox Code Playgroud)

然后这个命令在你的gitignore文件中添加行:

echo 'application/cache' >> .gitignore
Run Code Online (Sandbox Code Playgroud)

新线条要小心

  • 无需先“触摸”文件。如果文件尚不存在,则“>>”与“>”同义。`echo` 在输出的末尾附加一个换行符。你可以用“-n”来停止它。如果您需要各种忽略,请执行各种 echo,或使用 `-e`,如下所示:`echo -e "**/cache/\n**.pyc" >> .gitignore`。双星号也匹配递归挖掘到文件夹中的所有文件。以防万一,在文件夹末尾使用“/”。 (4认同)

Ada*_*ruk 13

git ignore是git中的约定.按名称设置文件.gitignore 将忽略该目录中的文件以及与文件包含的模式匹配的更深层目录.最常见的用途是在顶层有一个这样的文件.但是,您可以在目录结构中添加更深层次的其他内容,以忽略更多模式或停止忽略该目录以及随后更深层次的模式.

同样,您可以通过指定以...开头的模式来"忽略"更深层结构或特定子集中的某些文件(即,您忽略*.log但仍希望仍然跟踪important.log)!.例如:

*.log !important.log
Run Code Online (Sandbox Code Playgroud)

将忽略所有日志文件,但将跟踪名为important.log的文件

如果您要跟踪要忽略的文件,请删除它们,将模式添加到.gitignore文件并添加所有更改

# delete files that should be ignored, or untrack them with 
# git rm --cached <file list or pattern>

# stage all the changes git commit
git add -A 
Run Code Online (Sandbox Code Playgroud)

从现在起,您的存储库将不会跟踪它们.

如果您想清理历史,可以

# if you want to correct the last 10 commits
git rebase -i --preserve-merges HEAD~10 
Run Code Online (Sandbox Code Playgroud)

然后使用e或标记每个提交edit.保存计划.现在git将重播您在标记为e的每次提交时停止的历史记录.在这里删除您不想要的文件,git add -A然后git rebase --continue直到完成.你的历史会很干净.确保你告诉你的同事,因为你必须强制推动,他们将不得不重新调整他们没有推动的东西.


Lon*_*ler 9

您的git根目录中有一个名为的文件.gitignore.这是一个文件,而不是命令.您只需要插入要忽略的文件的名称,它们将自动被忽略.例如,如果您想忽略所有结束的emacs自动保存文件~,那么您可以添加以下行:

*~
Run Code Online (Sandbox Code Playgroud)

如果要从分支中删除不需要的文件,可以使用git add -A" 删除不在工作树中的文件 ".

注意:我称之为"git根目录"的只是您git init第一次使用的目录.它也是您可以找到.git目录的地方.


kar*_*mar 5

如果您没有 .gitignore 文件。您可以创建一个新的

touch .gitignore
Run Code Online (Sandbox Code Playgroud)

您可以通过在 .gitignore 文件中输入以下命令来排除文件夹

/folderName
Run Code Online (Sandbox Code Playgroud)

将此文件推送到您的 git 存储库中,以便当一个新人克隆您的项目时,他不必再次添加相同的内容


Afa*_*han 5

gitignore 的使用方法有多种

  • 通过特定的文件名指定。例如,要忽略
    名为 readme.txt 的文件,只需在 .gitignore 文件中写入 readme.txt 即可。
  • 您还可以写入文件扩展名。例如,要
    忽略所有 .txt 文件,请写入 *.txt。
  • 您也可以忽略整个文件夹。例如,您想忽略
    名为 test 的文件夹。然后只需在文件中写入 test/ 即可。

只需创建一个 .gitignore 文件并写入您想要忽略的任何内容,示例 gitignore 文件将是:

# NPM packages folder.
node_modules

# Build files
dist/

# lock files
yarn.lock
package-lock.json

# Logs
logs
*.log
npm-debug.log*

# node-waf configuration
.lock-wscript

# Optional npm cache directory
.npm

# Optional REPL history
.node_repl_history

# Jest Coverage
coverage

.history/
Run Code Online (Sandbox Code Playgroud)

您可以在git 文档 gitignore上找到更多信息