Git 归纳命令清单(config/log/diff/小贴士)

本文介绍了Git的各种配置,包括删除全局设置、缓存凭据、默认拉取时修剪分支、创建命令别名等。此外,还讲解了gitlog的相关用法,如查看特定作者的提交记录、输出简洁的历史记录等。gitdiff部分则展示了如何对比不同版本间的差异,以及如何查看工作区冲突文件。最后,分享了一些实用的Git小贴士,如查看代码归属、分支管理、克隆特定分支等。
摘要由CSDN通过智能技术生成

[git config相关](#git config相关)

git config相关

#删除全局设置
git config --global --unset <entry-name>

#如果您希望 Git 记住您在此计算机上的凭据,您可以使用以下方法缓存您的凭据:
git config --global credential.helper wincred        //Windows
git config --global credential.helper osxkeychain    //Mac

#如果您希望在拉取时将远程跟踪分支的修剪设置为默认行为,您可以使用以下配置选项:
git config --global fetch.prune true

#创建命令别名
git config --global alias.lol "log --oneline --graph --decorate --all"
# 清理分支命令别名设置
git config alias.dlb '!git checkout <DEFAULT-BRANCH> && git pull --prune && git branch --merged | grep -v "\*" | xargs -n 1 git branch -d'

#在推送相关提交时自动推送tag,否则需要指定推送标签`git push --tags`
git config push.followTags true

#配置一个全局的.gitignore_global文件为每一个本地仓库使用。
#前提是在根目录下创建这样一个公共文件
git config --global core.excludesfile ~/.gitignore_global     //Mac
git config --global core.excludesfile %USERPROFILE%\.gitignore_global  //Windows

#配置彩色的 git 输出
git config color.ui true

#显示历史记录时,每个提交的信息只显示一行
git config format.pretty oneline

# 不再将文件的权限变化视作改动
git config core.fileMode false

git log 相关

# 某一个人的提交记录
git log --author=bob

#一个压缩后的每一条提交记录只占一行的输出
git log --pretty=oneline

#通过 ASCII 艺术的树形结构来展示所有的分支, 每个分支都标示了他的名字和标签
git log --graph --oneline --decorate --all

#看看哪些文件改变了
git log --name-status

#在 commit log 中查找相关内容,通过 grep 查找,given-text:所需要查找的字段
git log --all --grep='<given-text>'

#在 commit log 中显示 GPG 签名
git log --show-signature

git diff 相关

#输出工作区和暂存区的 different (不同)。
git diff

# 输出暂存区和本地最近的版本 (commit) 的 different (不同)。
git diff --staged

# 输出工作区、暂存区 和本地最近的版本 (commit) 的 different (不同)。
git diff HEAD
git diff --color-words

#git diff还允许您通过简单地键入以下内容来比较分支、提交和标签:
# 展示本地仓库中任意两个 commit 之间的文件变动:
git diff <REF-1> <REF-2>
git diff main slow-down
git diff origin/main main
git diff 2710 b745

#展示工作区的冲突文件列表
git diff --name-only --diff-filter=U

实用小帖士

  • 内建的图形化 git:gitk
  • 交互式添加文件到暂存区:git add -i
  • 把某一个分支导出成一个文件:git bundle create <file> <branch-name>
  • 查看某段代码是谁写的:git blame <file-name>
  • 删除已经合并到 master 的分支:git branch --merged master | grep -v '^\*\| master' | xargs -n 1 git branch -d
  • clone 最新一次提交:git clone --depth=1 https://github.com/user/repo.git
  • clone 下来指定的单一分支:git clone -b <branch-name> --single-branch https://github.com/user/repo.git
  • 修改作者名:git commit --amend --author='Author Name <email@address.com>'
  • 快速切换到上一个分支 git checkout -
  • 从远程分支中创建并切换到本地分支:git checkout -b <branch-name> origin/<branch-name>
  • 查看远程分支和本地分支的对应关系:git remote show origin
  • 删除远程分支本地也想删除:git remote prune origin
  • 查看任意分支某一文件的内容:git show <branch-name>:<file-name>
  • 查看两个星期内的改动:git whatchanged --since='2 weeks ago'

请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值