美文网首页
Git 常用命令整理

Git 常用命令整理

作者: kevinsEegets | 来源:发表于2019-07-24 14:57 被阅读0次

Git 常用命令整理

Git 删除本地分支

git branch -D/-d branchID

例如


    git branch -D/-d  A_分支名

Git 批量删除本地分支

git branch | grep '分支名' | xargs git branch -D/-d

例如


git branch | grep 'dev_delete_code' | xargs git branch -D/-d

Git 清除本地存在的远程分支

git remote prune origin

Git 保存一个Commit到本地

git format-patch -1 commitId

例如


git format-patch -1 f3b6e756fd3fe8c97f75d162f46f0983e0145f8e

会保存到当前文件夹下类似名称为 0001-y.patch 的文件

Git 将保存的patch应用到当前分支

git apply 0001-y.patch

Git 查看提交记录

git log 查看提交历史记录

git log --oneline 或者 git log --pretty=oneline 以精简模式显示

git log --graph 以图形模式显示

git log --stat 显示文件更改列表

git log --author= 'name' 显示某个作者的日志

git log -p filepath 查看某个文件的详细修改

git log -L start,end:filepath 查看某个文件某几行范围内的修改记录

git log --stat commitId 或者 git show --stat commitId 查看某一次提交的文件修改列表

git log -p --author=XXX@secoo.com 代码审查-展开内容差异

git log --stat 显示简要的增改行数统计

Git合并某个分支的一个Commit到另一个分支

  1. git checkout A分支
  1. git log XXX_commitId
  1. git checkout B分支
  1. git cherry-pick XXX_commitId

例如


git合并某个分支的一个commit到另一个分支

  例如要将A分支的一个commit合并到B分支:

  首先切换到A分支

  git checkout A

  git log

  找出要合并的commitID

  例如commitID为:

  0128660c08e325d410cb845616af355c0c19c6fe

  然后切换到B分支上

  git checkout B

  git cherry-pick  0128660c08e325d410cb845616af355c0c19c6fe

  然后就将A分支的某个commit合并到了B分支了

Git仓库中恢复已删除的分支或丢失的commit

git reflog show

git brach XXXX_branch commitID

例如


在使用Git的过程中,有时可能会有一些误操作

比如:执行checkout -f 或 reset -hard 或 branch -d删除一个分支

结果造成本地(远程)的分支或某些commit丢失

可以通过reflog来进行恢复,前提是丢失的分支或commit信息没有被git gc清除

一般情况下,gc对那些无用的object会保留很长时间后才清除的

reflog是git提供的一个内部工具,用于记录对git仓库进行的各种操作

可以使用git reflog show或git log -g命令来看到所有的操作日志

恢复的过程很简单:

1. 通过git log -g命令来找到我们需要恢复的信息对应的commit_id,可以通过提交的时间和日期来辨别

2. 通过git branch recover_branch commit_id 来建立一个新的分支

这样,我们就把丢失的东西给恢复到了recover_branch分支上了

Git查看某行代码由谁写的,在哪个commit中提交的:


git blame file_name

其显示格式为:

commit ID | 代码提交作者 | 提交时间 | 代码位于文件中的行数 | 实际代码

类似于下面这样:

  
git blame /home/linux/project/XXX/module/build.gradle  -L 1,1   

a244fcace1 module-unicorn/build.gradle (kevin 2019-06-03 19:34:25 +0800 1) apply from:"../XXX.gradle"

Git cherry-pick 选择某一个分支中的一个或者多个commit合并

一个很常用的场景就是:我们有一个很稳定的分支版本用于本次发版,但是临时决定要把master分支上的一个提交合并到本次发版分支中,那么这时候我们就可以使用 git cherry-pick

使用方式很简单:

git cherry-pick <commit-id>

Git 获取特定作者的提交日志

指定提交人
git log --author='zhangsan'

指定时间段
git log --before='2019-4-23' --after='2019-3-31'

只列出文件名称
git log --name-only

获取指定作者某一时间段内,提交记录的文件信息
组合上面三个参数即可
git log --author='zhangsan' --before='2019-4-23' --after='2019-3-31' --name-only

Git Diff 比较两次修改的差异

查看两个分支对比差异
git diff 分支A 分支B 具体的类

类似于下面这样:

比较分支A和分支B AAAA.java文件的修改差异
CommonRes/src/main/java/com/secoo/ResCart/AAAA.java

GIT 获取当前git分支名的方法

第一种方式:

git branch | grep "*"

第二种方式:

git symbolic-ref --short -q HEAD

更高级的使用方式请前往移步大神的文章
https://juejin.im/post/5925a2d9a22b9d0058b0fd9b

相关文章

  • Git 常用命令整理

    Git 常用命令整理 Git 删除本地分支 git branch -D/-d branchID 例如 Git 批量...

  • 2018-07-20

    git常用命令整理 //删除远程分支 git push origin : git push origin --de...

  • Git常用命令整理

    一、Git 常用命令整理 命令 简要说明 git branch 查看本地所有分支 git status 查看...

  • git 常用命令

    记不住整理下, Git 常用命令 git branch 查看本地所有分支 git status 查看当前状态 gi...

  • git 命令指南

    整理一下 git 命令,用时总会忘记。 Git常用命令 git 克隆远程分支仓库git 克隆远程仓库项目时如果不指...

  • git相关教程汇总

    1. git常用命令 git常用命令总结git常用命令讲解 2. git教程相关网站 廖雪峰的git教程猴子都能懂...

  • Git常用操作

    整理Git的常用命令,方便以后查找。 配置用户信息 Git的设置文件为 .gitconfig ,它可以在用户主目录...

  • git命令整理

    git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...

  • git操作

    Git原理 Git常用命令

  • Git 常用命令及应用这一篇就够了(新手向)

    1. git 常用命令 1.1 常用命令 1.2 git remote 管理远程仓库 1.3 git r...

网友评论

      本文标题:Git 常用命令整理

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