其实Idea里自带的命令能满足工作多数场景,但也会使思维受限,总结下Git里常用的命令行对Idea进行补充
初始化配置
# 查看git配置(重点关注账号和邮箱)
git config --list
# 设置全局姓名和邮箱
git config --global user.name "姓名"
git config --global user.email "邮箱"
# 万能现查
git config --help
仓库
#分支
git branch //查看分支
git checkout <分支名> //切换分支
git branch <分支名> //创建分支
git branch -d <分支名> //删除分支
#帮助
git branch --help
#连接远程分支
git remote add orign <仓库>
#查看远程分支
git remote
#帮助
git remote --help
最常用的操作
# 克隆
git clone <仓库地址>
# 提交
git commit <文件名>
git commit --amend //可以将2次提交合并成一次提交 ,减少git记录的commit数目
# 拉取
git pull
git pull --allow-unrelated-histories //对于远程仓库和本地仓库历史记录不一致时使用
# 推送
git push <远程主机名> <本地分支名>:<远程分支名>
git push --force origin master //强制推送即覆盖远程仓库冲突文件
# 获取远程仓库最新修改
git fetch
#标签
git tag //列出所有标签
git tag 标签名 : 直接给当前的提交版本创建一个【轻量标签】
git tag 标签名 提交版本号 :给指定的提交版本创建一个 【轻量标签】
git tag -d 标签名 //删除标签
git push origin 标签名称 : 将指定的标签上传到远程仓库
git push origin --tags : 将所有不在远程仓库中的标签上传到远程仓库
#合并
git merge //提交记录非常细
git rebase //提交记录会简洁
Hooks
Git及Gitlab提供的有钩子(就是脚本)(Git触发相应事件时会自动调用钩子),分为三种类型
客户端钩子,服务端钩子以及WebHooks
客户端钩子 clone仓库时不会clone钩子
在初始化仓库里这些就是钩子函数,使用时取消掉sample后缀另外在脚本里修改使用权限即可
客户端钩子
pre-commit
prepare-commit-msg
commit-msg
post-commit
post-checkout
pre-rebase
服务端钩子
推送接受前(pre-receive)
推送更新中(update)
推送接受后(post-receive)
WebHooks
在触发相应事件时可以配置请求一个url,可以进行如发送邮件短信等等操作