拿来即用系列之Git的常用技能总结

322 阅读3分钟

这是我参与更文挑战的第4天,活动详情查看:更文挑战

Git配置

配置Git用户名

git config --global user.name "用户名" 

配置Git邮箱

git config --global user.email "email"

删除全局配置

git config --global --unset user.xxx

查看Git系统配置

git config --list

查看用户配置

cat ~/.gitconfig

查看本地 git 命令历史

git reflog

查看提交历史

git log --online // 日志记录一行一行显示

image-20210604223623659

git log --grep="组件" --oneline // 含有关键字的记录

image-20210604223821519

git log --author="itmier@126.com" // 相关用户的提交记录
git log -num   ex: git log -10 最近10次提交记录
git log -10 --stat  // 列出具体的文件修改统计信息

Git常用命令

提交到暂存区

git add .

提交到本地仓库

git commit -m ''

add与commit的合并写法

要保证所有文件已经被提交到暂存区,否则未追踪的文件(如新建的文件)不会被提交到暂存区

git commit -am '提交说明'

代码提交推送

git push // 默认推送到主分支

关联仓库

git remote add origin 仓库ssh地址

查看分支

git branch // 本地分支
git branch -a 	//本地+远程

新建分支

git branch branchName

将本地新分支推送到远程仓库

git push <远程主机名> <本地分支名>:<远程分支名>
git push origin branchName // 省略远程分支,则表示两者同名

远程分支代码拉取

git pull // 默认拉取主分支
git pull origin branchName // 指定分支代码拉取

分支合并

git merge branchName

切换分支

git checkout branchName

创建并切换到新分支

git checkout -b branchName

删除本地分支

git branch -d branchName

强制删除本地分支

git branch -D branchName

删除远程分支

第一种方法:
git push origin --delete 远程分支名
第二种方法:
git push origin  :远程分支名  // 推送空分支,相当于删除远程分支

将本地所有分支推送到远程主机

git push --all origin

修改当前分支名

git branch -m branchName

打标签

git tag v1.0

指定 commit id 创建标签

git tag v2.0 9326e2010dcd6bbaa336610aca644995e770a15b

创建带说明的标签

git tag -a v3.0 -m '说明文字' // -a 指定标签名 -m 说明文字

查看所有标签

git tag

推送本地标签

git push origin <tagname> // 指定标签吗
git push origin --tags // 推送所有本地标签

删除标签

git tag -d v3.0 // 删除本地标签
git push origin :refs/tags/<tagname> // 删除远程标签(先删本地,再删远程)

回滚操作

1. 本地代码还未提交到远程仓库
git reset --hard // 回退到最近一次提交的版本内容
git reset --hard <commit_id> 指定commit回退
2. 本地代码已经提交到远程仓库,且远程仓库有其他人提交了新的代码
git revert <commit_id> // 撤销某次的commit提交(记录会保留),并生成一个撤销指定提交版本的新提交