Git备忘

注意事项

  1. path 注意执行路径
  2. pp 注意全局和局部
  3. example 仅仅是一个例子,还有很多的类似情况

指令

  1. git --version

  2. git config --listpath git config --global user.name 'Miaoyi' git config --global user.email '22061166@qq.com' pp git config --global alias.别名 原名 git config --global pull.rebase true example 注意:--system是系统设置(级别最低),--global是全局设置,--local是局部库设置(可以省略不写) 所有指令实际上是在编辑 .gitconfig 文件 cat ~/.gitconfig .gitconfig 文件在根目录下 git config --list --global git config --list --local cd 库文件夹 cat config config 文件在库文件夹下 注意:git config --list 结果包含全局和局部的上述两个配置文件内容

  3. git clone 打标签 版本号管理

    1. cd 本地文件夹路径,注意这是将建立仓库的父文件夹
    2. git clong 网站上复制的远程库地址,一般会将 master 分支进行克隆
    3. git clong -b 分支名,将对指定分支进行克隆
  4. git tag 打标签是大版本定版时才做的

    1. git tag -a v0.1 -m 'v0.1' 在本地库定义了版本标签
    2. git push --tag 推送版本标签,注意是2个 -
    3. git tag -l v0.0.* 将会按名称过滤显示版本
    4. git tag -a v0.0.3 用git log查的ID -m 'v0.0.3' 然后执行 git push --tag
  5. git add

  6. git commit -m "message" 文件名 message的格式要严格填写,具体格式为 类型(模块):描述,其中类型包括:

    1. feat:新功能
    2. fix:修复
    3. style:代码格式
    4. refactor:代码重构
    5. chore:项目构建打包
  7. git status 查看当前库文件的状态

    1. git add 文件名称 将未被追踪的 或 修改状态的文件加入暂存区
    2. git add -A 将所有工作区未被跟踪和修改的文件...
    3. git commit -m 将暂存区的文件提交到本地库
    4. git push -m 将本地库推送到远程仓库
  8. git diff ,查看文件与本地库文件的区别,注意此命令紧跟 git status

    1. git diff 查看未添加到暂存区文件的修改
    2. git diff --staged 查看已添加到暂存区文件的修改
  9. git log

  10. git log --pretty=oneline | grep fix 单行方式 并 过滤出 fix 相关内容

  11. 分支指令 分支:指向提交对象的一个指针变量

  12. git branch 展示所有分支

  13. git branch 分支名称如hotfix日期 创建一个新的分支

  14. git checkout 分支名 切换分支

  15. git checkout -b 新分支名 创建并切换到新分支

  16. git branch -d 想删除的分支名 注意要随时删除无用的分支

  17. git checkout 要合并到的分支 git merge 要合并的分支 git push origin 合并到的分支名

  18. 解决冲突:多人对同一个文件产生修改

git忽略文件或文件夹

Git 检查忽略规则的时候有多个来源,它的优先级如下(由高到低):

  1. 从命令行中读取可用的忽略规则
  2. 当前目录定义的规则
  3. 父级目录定义的规则,依次递推,目录结构较高的.gitignore文件被较近的.gitignore文件中相同的配置所覆盖
  4. .git/info/exclude文件中定义的规则
  5. core.excludesfile中定义的全局规则

有三种方法可以实现忽略Git中不想提交的文件

  1. 在Git项目中定义 .gitignore 文件(优先级最高,推荐!) 这种方式通过在项目的某个文件夹下定义 .gitignore 文件来管理当前文件夹及其子文件夹下的文件的Git提交行为。.gitignore 文件是可以提交到公有仓库中,这就为该项目下的所有开发者都共享一套定义好的忽略规则。
######################
# Project Specific
######################
/target/www/**
/src/test/javascript/coverage/
/src/test/javascript/PhantomJS*/

######################
# Node
######################
/node/
node_tmp/
node_modules/
npm-debug.log.*

######################
# SASS
######################
.sass-cache/

######################
# Eclipse
######################
*.pydevproject
.project
.metadata
tmp/
tmp/**/*
*.tmp
*.bak
*.swp
*~.nib
local.properties
.classpath
.settings/
.loadpath
.factorypath
/src/main/resources/rebel.xml

# External tool builders
.externalToolBuilders/**

# Locally stored "Eclipse launch configurations"
*.launch

# CDT-specific
.cproject

# PDT-specific
.buildpath

######################
# Intellij
######################
HELP.md
.idea
*.iws
*.iml
*.ipr
mvnw
mvnw.cmd
.mvn
*.ids
*.orig
classes/

######################
# Visual Studio Code
######################
.vscode/

######################
# Maven
######################
/log/
target/

######################
# Gradle
######################
.gradle/
/build/

######################
# Package Files
######################
*.jar
*.war
*.ear
*.db

######################
# Windows
######################
# Windows image file caches
Thumbs.db

# Folder config file
Desktop.ini

######################
# Mac OSX
######################
.DS_Store
.svn

# Thumbnails
._*

# Files that might appear on external disk
.Spotlight-V100
.Trashes

######################
# Logs
######################
*.log

######################
# Others
######################
*.class
*.*~
*~
.merge_file*

######################
# Gradle Wrapper
######################
!gradle/wrapper/gradle-wrapper.jar

######################
# Maven Wrapper
######################
!.mvn/wrapper/maven-wrapper.jar

######################
# ESLint
######################
.eslintcache
/.apt_generated/

server/package-lock.json
server/mochawesome-report/
  1. 在Git项目的设置中指定排除文件
    这种方式只是临时指定该项目的行为,需要编辑当前项目下的 .git/info/exclude 文件,然后将需要忽略提交的文件写入其中。需要注意的是,这种方式指定的忽略文件的根目录是项目根目录。
  2. 定义Git全局的 .gitignore 文件(个人使用方便,但是团队的话不适用,因为是在自己电脑设置的全局) 除了可以在项目中定义 .gitignore 文件外,还可以设置全局的 git .ignore 文件来管理所有Git项目的行为。这种方式在不同的项目开发者之间是不共享的,是属于项目之上Git应用级别的行为。
    1. 创建忽略规则文件 xxxx.ignore(前缀名随便起,建议是 git.ignore)这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig 文件引用,建议也放在用户家目录下。 git.ignore 文件模版内容如下:
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml
  1. 在.gitconfig 文件中引用忽略配置文件(此文件在根目录下)
[user]
	email = xuxin@wondertek.com.cn
	name = xuxin666
[credential "https://gitee.com"]
	provider = generic
[core]
	excludesfile = C:/Users/PC/git.ignore

检查文件或文件夹被哪个规则忽略

git check-ignore -v {文件或目录路径}


本文章使用limfx的vscode插件快速发布