?【清单】10条送给编程新手的 Git 秘籍
57查看
0回复
2019-04-16T14:39:32+08:00
技术分享

上一篇:?【清单】10条送给编程新手的 GitHub 秘籍

图片描述


## 从工作区去除大量已删除文件

当用 /bin/rm 命令删除了大量文件之后,你可以用下面一条命令从工作区和索引中去除这些文件,以免一个一个的删除:

$ git rm $(git ls-files -d)

## 快速检出上一个分支

git checkout

$ git checkout -
# Switched to branch 'master'

$ git checkout -
# Switched to branch 'next'

$ git checkout -
# Switched to branch 'master'

## 没有任何改动的提交

可以使用--allow-empty选项强制创建一个没有任何改动的提交

$ git commit -m "Big-ass commit" --allow-empty

这样做在如下几种情况下是有意义的:

  • 标记新的工作或一个新功能的开始。
  • 记录对项目的跟代码无关的改动。
  • 跟使用你仓库的其他人交流。
  • 作为仓库的第一次提交,因为第一次提交后不能被 rebase: git commit -m "init repo" --allow-empty.

## 美化 Git Log

输入如下命令:

$ git log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative

可以看到:

图片描述


## 美化 Git Status
$ git status -sb

图片描述


## 颜色输出

要在你的 Git 命令输出里加上颜色的话,可以用如下命令:

$ git config --global color.ui 1

## 修复有问题的提交以及自动合并

如果上一个或多个提交包含了错误,可以在你修复问题后使用下列命令处理(假设要修复的提交版本是abcde):

$ git commit --fixup=abcde
$ git rebase abcde^ --autosquash -i

## 合并分支

输入命令:

$ git branch --merged

这会显示所有已经合并到你当前分支的分支列表。

相反地:

$ git branch --no-merged

会显示所有还没有合并到你当前分支的分支列表。


## Git 查询 Git 查询运行你在之前的所有提交信息里进行搜索,找到其中和搜索条件相匹配的最近的一条。
$ git show :/query

这里 query (区别大小写)是你想要搜索的词语, 这条命令会找到包含这个词语的最后那个提交并显示变动详情。

$ git show :/typo

## 去除空白 `Git Stripspace` 命令可以:
  • 去掉行尾空白符
  • 多个空行压缩成一行
  • 必要时在文件末尾增加一个空行 使用此命令时必须传入一个文件,像这样:
$ git stripspace < README.md

图片描述

你的回复