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

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Add & Commit git init 初始化一个 Git 仓库(repository),即把当前所在目录变成...
    冬絮阅读 4,947评论 0 9
  • 第一部分是文档,为了日后查看方便放到了前边[可能敲错了,详见阮一峰老师的文章]http://www.ruanyif...
    白璞1024阅读 1,074评论 0 49
  • 昨天在同事电脑上操作了一把cherry-pick代码,发现很多功能不用,就慢慢忘记了,梳理了下流程图: git c...
    gogoingmonkey阅读 700评论 0 0
  • 下面Git 命令清单部分来自廖雪峰,部份来自其他各处收集。几个专用名词的译名如下。 Workspace:工作区 I...
    乱尘阅读 325评论 0 1
  • 1. 下载代码库 2. 配置 显示当前git配置$ git config --listcore.symlinks=...
    yandaren阅读 412评论 0 0