前言
Git版本控制系统,全球开发人员的必备工具,可以高效地进行项目版本管理。
1、git config 配置操作
获取 config 信息
git config --list
设置提交代码时的用户名和邮箱
git config [--global] user.name "[name]": git config [--global] user.email "[email address]"
2、git init 初始化一个新的仓库
# 初始化一个新的Git仓库 git init # 建一个新的Git仓库,[project-name]是所想要创建的项目名称 git init <项目名称>
3、git clone 克隆远程仓库到本地
# 克隆远程仓库到本地 git clone <项目地址> # 指定本地仓库的目录 git clone <远程仓库的网址> <本地目录> # 指定要克隆的分支,默认是master分支 git clone <远程仓库的网址> -b <分支名称>
4、git add 提交
# 添加所有文件到暂存区 git add . # 添加指定目录到暂存区,包括子目录 git add <文件夹名>
5、git commit 提交到本地仓库
#把暂存区中的文件提交到本地仓库中并添加描述信息 git commit -m '修改了首页' #使用一次新的commit,替代上一次提交。如果代码没有任何新变化,则用来改写上一次commit的提交信息 git commit --amend -m [message]
6、git push 提交本地仓库代码到服务器
# 提交本地仓库代码到服务器 git push origin master
7、git pull 拉取远程默认仓库到本地仓库,进行合并
# 拉取远程默认仓库到本地仓库,进行合并 git pull origin master # 将所有分支推送到远程 git push --all
8、git branch 分支操作
# 列出本地的所有分支,当前所在分支以“*”标出 git branch # 列出本地的所有分支并显示最后一次提交,当前所在分支以“*”标出 git branch -v # 新建一个分支,但依然停留在当前分支 git branch <分支名> # 修改分支名称,如果不指定原分支名称则为当前所在分支 git branch -m [<原分支名称>] <新的分支名称> # 强制修改分支名称 git branch -M [<原分支名称>] <新的分支名称> # 删除指定的本地分支 git branch -d <分支名称> # 强制删除指定的本地分支 git branch -D <分支名称>
9、git merge
# 把指定的分支合并到当前所在的分支下 git merge <分支名称> # 取消合并 git merge --abort
10、git checkout
# 切换到已存在的指定分支 git checkout <分支名称> # 新建一个分支,并切换到该分支 git checkout -b [<分支名称>] # 切换到上一个分支 git checkout -
11、git log
# 查看完整信息 git log # 查看简略信息 git log --oneline
12、git reset 回退
# 回退到指定版本 git reset --hard commit_id # 回退到上一个版本 git reset --hard HEAD^ # 查看已关掉的完整信息 git reflog
13、git status 查看状态
# 查看状态 git status
14、与远程仓库关联
# 与远程仓库关联 git remote set-url --add origin 远程仓库地址 # 刷新远程分支 git remote update origin --prune
15、git stash
# 执行存储时,添加备注,方便查找 git stash save "save message" # 查看stash了哪些存储 git stash list # 显示做了哪些改动,默认 show 第一个存储。如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1} git stash show # 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p git stash show -p # 应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1} git stash apply # 应用某个存储,将缓存堆栈中的对应stash删除,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1} git stash pop # 丢弃 stash@{$num} 存储,从列表中删除这个存储 git stash drop stash@{$num} # 删除所有缓存的stash git stash clear
git commit 规范
// 表示添加新功能 git commit -m "feat: xxx" // 表示修复问题 git commit -m "fix: xxx" // 表示修改文档 git commit -m "docs: xxx" // 表示修改代码格式,不影响代码逻辑 git commit -m "style: xxx" // 表示重构代码,理论上不影响现有功能 git commit -m "refactor: xxx" // 表示提升性能 git commit -m "perf: xxx" // 表示增加修改测试用例 git commit -m "test: xxx" // 表示修改工具相关(包括但不限于文档、代码生成等) git commit -m "chore: xxx" // 表示升级依赖 git commit -m "deps: xxx"