-
介绍:
-
格式规范:
- 所有空行或者以注释 # 开头的都会被 Git 忽略
- 可以使用标准的 glob 模式匹配
- 匹配模式最后跟 / 说明要忽略的文件是 目录
- 要忽略指定模式外的文件或目录,可以在模式前加上 !进行取反
-
glob 模式:
- *:匹配零个或多个任意字符
- [ ]:匹配任意一个在方括号中的字符,如 [ab]:匹配 a 或者匹配 b
- ?:匹配一个任意字符
- [ n - m]:匹配所有在这两个字范围内的字符,如 [ 0 - 9 ]:表示匹配所有 0 到 9 的数字
- 匹配实例:
- logs/:忽略当前路径下的 logs 目录,包含 logs 下的子目录和文件
- /logs.txt:忽略根目录下的 logs.txt 文件
- *.class:忽略所有后缀为 .class 的文件
- ·······
-
案例:
-
定义全局的 .gitignore:
-
.gitignore 规则不生效:
-
Java 开发通用模板:
###################### # 解决java产生文件 ###################### *.class# Mobile Tools for Java (J2ME) .mtj.tmp/# Package Files # *.jar *.war *.ear# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid*###################### # 解决maven产生的文件 ######################target/ **/target/ pom.xml.tag pom.xml.releaseBackup pom.xml.versionsBackup pom.xml.next release.properties dependency-reduced-pom.xml buildNumber.properties .mvn/timing.properties###################### # 解决各类编辑器自动产生的文件 ######################*.iml## Directory-based project format: .idea/ # if you remove the above rule, at least ignore the following:# User-specific stuff: # .idea/workspace.xml # .idea/tasks.xml # .idea/dictionaries# Sensitive or high-churn files: # .idea/dataSources.ids # .idea/dataSources.xml # .idea/sqlDataSources.xml # .idea/dynamic.xml # .idea/uiDesigner.xml# Gradle: # .idea/gradle.xml # .idea/libraries# Mongo Explorer plugin: # .idea/mongoSettings.xml## File-based project format: *.ipr *.iws## Plugin-specific files:# IntelliJ /out/ /target/# mpeltonen/sbt-idea plugin .idea_modules/# JIRA plugin atlassian-ide-plugin.xml# Crashlytics plugin (for Android Studio and IntelliJ) com_crashlytics_export_strings.xml crashlytics.properties crashlytics-build.properties
-
diff 命令:
- git diff 文件名:
- a 表示:前面的变量
- b 表示:后面的变量
- HEAD:commit 版本
- Index:staged 版本
- 工作区 vs 缓存区:
- 暂存区 vs Git 仓库:
- 工作目录 vs Git仓库:
- git diff 版本 文件名:
- 意义:查看工作目录同 Git 仓库指定 commit 的内容差异
- 版本 == HEAD 时:查看工作目录同最近一次 commit 的内容差异
- Git 仓库 vs Git 仓库:
- 查看 Git 仓库任意两次 commit 之间的差别:git diff 版本 版本
- 注意:
- 以上命令不指定文件名,则对全部文件操作
- 以上命令和 Git 仓库对比的,均可指定 commit 的版本
- HEAD:最近一次 commit
- HEAD^:上一次提交
- HEAD~100:上100次提交
- git diff 文件名: