使用原则:先更新pull再提交commit
git进阶命令.zshrc
# git进阶命令
alias gg='git lg'
# 想从远程仓库获取代码,且更新本地的代码,不造成时间线爆炸
alias gsfrs='git stash;git fetch;git rebase;git stash pop;'
# 查看分支
alias gb='git branch'
alias gbv='git branch -vv'
alias gba='git branch -a'
alias gbr='git branch --remote'
# 储藏
alias gst='git stash -u'
alias gsp='git stash pop --index'
# 提交过但没推送到远程 提交记录
alias gri='git rebase -i'
# 修改上一次提交的信息
alias gca='git commit --amend'
alias gcam='git commit --all -m'
配置忽略规则
要忽略哪些文件和文件夹
仅对还没有被纳入 git 版本管理的文件生效
一旦某个文件被暂存过,再配置 .gitignore
就无效
需要先把所有的文件取消暂存,再重新暂存
alias reignore='git rm -r --cached . && git add .'
自定义log(命令历史):直接输出,没有交互
[alias]
hist = "!git --no-pager log --all --pretty=format:'%Cred%h%Creset %Cgreen%ad%Creset | %s %C(bold blue)[%an |%ae]%Creset' --date=format:'%Y-%m-%d' --abbrev-commit"
lg = "!git --no-pager log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
last = !git --no-pager log -1 HEAD
st = status
br = branch
ci = commit
co = checkout
mergetest = "!f(){ git merge --no-commit --no-ff \"$1\"; git merge --abort; echo \"Merge aborted\"; };f "
- 图形化的界面展示commit的关系
-
git lg -p
的变化的行数
常用Git命令
git命令 | 命令说明 |
---|---|
ssh -T git@github.com |
连接测试ssh连接 |
git add [file1] |
添加到本地缓存区,.或* 代表全部添加 |
git remote -v |
查看远程仓库路径 |
git log |
打印日志 |
git diff |
当前没有add 的内容修改 |
git rflog |
查看所有提交记录 |
git reset --hard 版本号 |
恢复到指定版本 |
git status |
检查当前文件状态 |
开发中用到
git命令 | 命令说明 |
---|---|
git rm -rf --cached . |
添加.gitignore文件,清除本地缓存 |
[user] name = 467603639 email = 467603639@qq.com |
在.git文件夹下的config文件中单独配置账号 |
git config --global user.name "用户名" |
全局配置用户名email 也可配置 |
git config --list |
查看用户信息 |
标签操作
git命令 | 命令说明 |
---|---|
git tag |
查看tag号 |
git push origin --tags |
推送本地标签到远程 (--tag 表示提交所有的tag到远程,普通的git push origin master 是不会把标签推到远程的) |
git tag -d tagName |
删除本地tag |
git push --delete origin 1.0.5 |
删除远程tag |
分支操作
git命令 | 命令说明 |
---|---|
git branch develop |
创建本地develop分支 |
git branch -a |
查看所有分支 |
git checkout master |
切换到master分支 |
git checkout -b dev |
创建并切换dev分支 |
git pull origin develop |
把本地分支推送到远程 |
git merge develop |
[在master分支下执行] 合并dev分支代码到master |
git branch -d fixbug |
删除fixbug分支 |
git push origin --delete fixbug |
远程删除 ???提交之后就删除了 |
冲突解决
先将本地修改存储起来`git stash`
`git pull`
还原暂存的内容`git stash pop stash@{0}`
git命令 | 命令说明 |
---|---|
git stash |
返回到上一个commit |
git stash pop |
从栈中取回修改内容 |
网友评论