Git使用进阶

使用原则:先更新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 [email protected] 连接测试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 = [email protected] 在.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 从栈中取回修改内容

参考资料

  • Git 命令整理

你可能感兴趣的:(Git使用进阶)