美文网首页
git 命令使用分享 + git log 自定义

git 命令使用分享 + git log 自定义

作者: wlianfu | 来源:发表于2020-03-27 20:59 被阅读0次

Git 命令使用分享

基本操作

  • git config --list 显示当前git配置信息
  • git add [filename] 添加文件到暂存区
  • git add . 将当前所有文件存到暂存区
  • git commit -m [message] 提交暂存区到仓库

分支相关

  • git branch 列出所有本地分支
  • git branch -r 列出所有远程分支
  • git branch -a 列出所有本地分支和远程分支
  • git branch [branch-name] 新建分支,但依然停留在当前分支
  • git checkout -b [branch-name] 新建分支,并切换到该分支
  • git checkout [branch-name] 切换到制定分支
  • git checkout - 切换到上一个分支
  • get merge [branch] 合并指定分支到当前分支
  • git branch -d [branch-name] 删除分支
  • git push origin --delete [branch-name] 删除远程分支

git tag 标签

  • git tag 列出所有tag
  • git tag [tag] 在当前分支新建一个tag
  • git tag [tag] [commit] 新建一个tag在指定commit
  • git tag -d [tag] 删除本地tag
  • git push origin :refs/tags/[tagName] 删除远程tag
  • git show [tag] 查看tag信息
  • git push [remote] [tag] 提交指定tag
  • git push [remote] --tags 提交所有tag

查看信息

  • git status 显示有变更的文件
  • git log 显示当前分支的版本历史
    • --graph 显示方式可视化
    • --oneline 单行形式展示
    • --stat 显示发生变动的文件
    • -[n] 显示最近n次提交
  • git diff 显示暂存区和工作区文件内容对比

远程同步

  • git remote -v 显示当前关联的远程仓库地址
  • git pull 更新远程分支的修改
  • git push 上传本地commit到远程分支
  • git push --force 强行push当前分支到远程仓库

撤销

  • git checkout [filename] 恢复(废弃)暂存区指定文件的修改
  • git checkout . 恢复(废弃)暂存区所有文件的修改
  • git reset --hard [commitID] 重置当前分支的HEAD为指定commit
  • git stash 暂存当前未提交的修改
  • git stash pop 取出(恢复)未提交的修改

git rebase

  • git pull [branch-name] --rebase 以rebase方式同步分支

git 分支介绍

  • 按日常工作来划分: git 分支类型分六种
    • master 生产环境用来发布的主要分支
    • develop 开发日常使用的分支
    • test 提供测试用的分支
    • feature 功能分支,为了开发某种特定功能使用
    • release 预发布环境使用的分支
    • hotfix 紧急修复问题的分支

git 工作区介绍

  • 工作区:项目所在目录;
  • 暂存区:暂时保存修改后的文件的区域
  • 本地仓库:本地保存文件的地方
  • 远程仓库:服务端保存文件的地方

git log 参数

-(n)    仅显示最近的 n 条提交
--since, --after    仅显示指定时间之后的提交。
--until, --before   仅显示指定时间之前的提交。
--author    仅显示指定作者相关的提交。
--committer 仅显示指定提交者相关的提交。
--grep  仅显示含指定关键字的提交

git 别名设置

  • 方法 git config --global alisa.name "the operation command"

给出两个我自己配置的例子

  • git log-one:
git config --global alias.log-one 'log --pretty=format:"%C(white)%h%Creset %C(white)-%Creset %C(yellow)%cn%Creset %C(white)-%Creset %C(red)%cd%Creset %C(white)-%Creset %C(green)%s%Creset" --date=format:"%Y-%m-%d %H:%m:%S" --graph --decorate --all'
  • git log-short:
git config --global alias.log-short 'log --graph --stat --pretty=format:"%C(white)Commit: %h%Creset %n%C(green)Author: %cn%Creset %nDate: %C(auto)%cd%Creset %n %C(red)%s%Creset %C(green)%b%Creset%n" --date=format:"%Y-%m-%d %H:%m:%S"'
  • git log-tree
git config --global alias.log-tree 'log --graph --stat --pretty=format:"%C(white)Commit:%Creset %C(white)%H%Creset %n%C(white)Author:%Creset %C(green)%cn%Creset %n%C(white)Message:%Creset %C(yellow)%s%Creset %n%C(white)Date:%Creset %C(white)%cd%Creset %C(red)(%cr)%Creset %C(green)%b%Creset%n" --date=format:"%Y-%m-%d %H:%m:%S" --graph --decorate --all'

git log-tree

image.png

git log-one

image.png

相关文章

网友评论

      本文标题:git 命令使用分享 + git log 自定义

      本文链接:https://www.haomeiwen.com/subject/ixgruhtx.html