在提交之前,我们可能希望 git 忽略各种类型的文件,例如,与我们的用户设置或任何实用程序设置有关的文件、密码和 API 密钥等私有文件。这些文件对其他人没有任何用处,我们不想弄乱我们的 git。我们可以在“ .gitignore ”的帮助下做到这一点
.gitignore是项目文件夹中的一个自动生成的文件,它忽略/阻止文件提交到本地和远程存储库。
如何使用 Git-Ignore?
.gitignore可以通过以下步骤在 Git 中使用:
步骤 1:打开终端/cmd 并将目录更改为文件所在的文件夹。您可以使用“ls -a”命令查看其内容。
cd directory(or)folder
ls -a
在这里,项目文件保存在名为 story 的文件夹中,该文件夹位于 web 开发中。在这里,我们希望 git 忽略 secrets.txt 文件。
第 2 步:在项目文件夹中创建.gitignore 文件。
第 3 步:在 .gitignore文本文件中写入要忽略的文件的名称。每个文件名都应该写在一个新行中。
第 4 步:在终端中初始化 git。将这些文件添加到您的 git 存储库并使用适当的消息提交所有更改。
git init
git add .
git commit -m "your message"
第 5 步:检查存储库的状态。每次进行任何更改和提交时,git 都会忽略添加到.gitignore 文本文件中的文件。
git status
Git-Ignore 的一些常见模式和格式:
- 空行:空行不代表任何文件名,为了便于阅读,我们可以用它来分隔两个文件名。
- #:以# 符号开头的行表示注释。但是,如果# 用作模式,则在# 符号之前使用反斜杠(“\”),以免将其误解为注释。
- /:用作目录分隔符,即包含目录,例如 webdev/ 。
- *.extension_name:例如*.txt 和*.log 可用于匹配所有分别以.txt 和.log 为扩展名的文件。
- **/any_name:用于匹配任何名称为any_name的文件或目录。
- any_name/**:用于匹配名称为any_name 的目录内的任何内容。例如 webdev/** 匹配 webdev 目录中的所有文件。
例子:
# Compiled class file
*.class
# Log file
*.log
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
如何撤消任何提交?
在使用 .gitignore 忽略某些文件之前,如果您已经提交了您不想提交的文件,那么您可以如何撤消它。在 Git Bash 上使用以下命令撤消提交:
git rm --cached -r
这里,“rm”代表移除,而“r”代表递归。
注意:前往 GitHub 并搜索 gitignore 存储库,您将找到由不同人贡献的 gitignore 存储库列表。