2022/8/15
# 1创建版本库
git init
git add test.txt / git add . //添加到暂存区
git commit -m "first commit" // 暂存区内容提交到当前分支
# 2 版本回退
git log / git log --pretty=oneline
git reset --hard HEAD^//回退到上一个版本
git reset --hard id //id是git log 里面对应版本的id
你回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?找不到新版本的commit id怎么办?
git reflog //记录每一条命令
# 3 撤销修改
git status //查看状态
git checkout -- readme.txt
# 4 删除文件
git rm text.txt
误删了又可以用 git checkout -- text.txt
# 5 远程分支
git remote -v //查看当前远程库信息
git remote rm origin //移除
要关联一个远程库 git remote add origin git@server-name:path/repo-name.git
# 6 分支管理
git checkout -b dev //创建dev分支,并切换到dev,可以分解为:git branch dev + git switch dev
git branch //列出所有分支
git add .
git commit -m "提交内容到dev分支"
git checkout master //查看master 并没有刚刚commit 的内容,那是因为提交的内容在dev上
git merge dev //合并指定分支到当前分支
git branch -d dev //删除分支
git switch -c dev //分支切换 git switch master
//修改远程仓库地址
git remote set-url origin https://gitee.com/lichengcan0228/mall4cloud.git
# 7 .gitignore常用
#======================================================================================================================
#========================================= gitignore的基础用法 =========================================
#======================================================================================================================
# 一.基础语法
# .gitignore配置文件的一些通用技巧 [参考:https://git-scm.com/docs/gitignore]
# 1.空白行不匹配任何文件,所以可以作为可读性的分隔符,同时两端的空格将会被忽略.
# 2.使用[#]开头,将会注释掉整行,使其不进行匹配操作,如果需要匹配#开头,可以使用转义字符[\].
# 3.1匹配模式以[/]结尾,表示想要匹配一个目录及其子文件.(比如[foo/]会匹配foo目录及其下面的路径.)
# 3.2匹配模式不包含[/],将会全局匹配该文件.
# 4.通配符
# [*]: 匹配除[/]以外的任何内容,也就意味着[*]不能跨目录.
# [?]: 匹配除[/]和[[]以及[]]以外的任何一个字符.
# [**]: 匹配所有的内容,或者说匹配任意目录下的内容.
# 示例:
# 1.[**/foo/bar] 将会匹配所有直接在foo目录下的bar,无论foo处在何处.
# 2.[foo/**]则表示匹配foo目录下的所有文件和目录.
# 3.[a/**/b]则可以匹配a/b, a/c/b, a/c/d/b,即此处的[**]可以表示0个或多个.
# !!! 需要注意的是,除上面示例的用法外,剩余的[**]都是无效的..
# 5.可以通过前缀[!]来表示不忽略某些文件,比如可以通过[!a]来确保文件a不会被忽略,即时前面已经声明了忽略其父目录,该模式优先级高于普通忽略模式.
# 二.常用命令
# 1.git -rm [https://git-scm.com/docs/git-rm]
# 删除文件索引,或者同时删除文件索引和物理文件.可以使用通配符.
# 2.git-check-ignore [https://git-scm.com/docs/git-check-ignore]
# 调试.gitignore文件
# 三.注意事项
# 1.如果文件已经被git管理,那么后续添加的忽略模式将不会生效,具体解决方法,参考<<二.常用命令>>.
#=======================================================================================================================
#============================== java忽略文件 =====================================
#===================== https://github.com/github/gitignore/blob/master/Java.gitignore ==================
#=======================================================================================================================
# 编译后的class文件,忽略所有以[.class]结尾的文件
*.class
# 日志文件,忽略所有以[.log]结尾的文件.
*.log
# BlueJ 文件,忽略所有以[.ctxt]结尾的文件.
*.ctxt
# Mobile Tools for Java (J2ME),忽略[.mtj.tmp/]目录及其子文件.
.mtj.tmp/
# 打包文件,忽略所有以[.jar]或[.war]或[.nar]或[.ear]或[.zip]或[.tar.gz]或[rar]结尾的文件.
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# 虚拟机崩溃日志,忽略所有以[hs_err_pid]开头的文件.[see http://www.java.com/en/download/help/error_hotspot.xml]
hs_err_pid*
#=======================================================================================================================
#============================== maven忽略文件 ===================================
#===================== https://github.com/github/gitignore/blob/master/Maven.gitignore ==================
#=======================================================================================================================
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
!/.mvn/wrapper/maven-wrapper.jar
#=======================================================================================================================
#============================== IDE环境忽略文件 ==================================
#===================== https://github.com/github/gitignore/blob/master/Maven.gitignore ==================
#=======================================================================================================================
#----------------IDEA-------------
.idea/*
.idea/compiler.xml
.idea/encodings.xml
.idea/modules.xml
*.iml
#=======================================================================================================================
#============================== other环境忽略文件 ================================
#===================== https://github.com/github/gitignore/blob/master/Maven.gitignore ==================
#=======================================================================================================================
*.sw?
.#*
*#
*~
.classpath
.project
.settings/
bin
build
target
dependency-reduced-pom.xml
*.sublime-*
/scratch
.gradle
Guardfile
README.html
*.iml
.idea