10个你应该了解的Git命令(以及Git省时小窍门)

在本文中,咱们将讨论那些做为开发人员、数据科学家或产品经理应该知道的各类各样的Git命令。而且将使用Git查看、删除和整理。此外,咱们还将介绍如何使用Bash别名和Git编辑器配置转义Vim和节省时间的方法。
若是你不熟悉基本的git命令,那么在阅读本文以前,请查看我以前关于git工做流的文章
下面是须要了解的10个命令和它们的一些常见标志。每一个命令都连接到该命令的Atlassian Bitbucket指南。python

查看信息

首先,让咱们来查看变化。git

  • git diff——查看全部本地文件更改。能够附加文件名,以仅显示一个文件的更改。
  • git log——查看全部提交历史记录。也能够用于具备git log -p my_file的文件。输入q退出。
  • git blame my_file——查看谁更改了my_file中的内容和时间。
  • git reflog——显示本地存储库HEAD的更改日志。有助于找到遗失的文件。

用git查看信息并非很混乱。相比之下,Git提供了大量的选项来删除、撤消提交和文件更改。编程

撤消信息

git reset、git checkout和git revert用于撤消对存储库所作更改的影响。这些命令可能很难理解。安全

git reset和git checkout可用于提交和单个文件。git revert仅用于提交级别。bash

若是你只是处理还没有合并到协做远程工做中的本地提交,则可使用这些命令中的任何一个。编辑器

若是你正在协做工做,而且须要撤销在远程分支中的提交,那么就使用git revert。工具

这些命令中的每个均可以采用多种选择。 如下是常见用途:学习

指定一个不一样的提交,而不是HEAD来丢弃自提交以来的更改。——hard指定阶段性和非阶段性的更改。
确保你不会放弃协做者所依赖的远程分支的提交!ui

HEAD一般用于my_commit,以放弃自最近一次提交以来对本地工做目录的更改。
checkout最适合用于本地撤销。它不会打乱协做者所依赖的远程分支的提交历史记录!
若是你将checkout与分支一块儿使用,而不是使用提交,则HEAD将切换到指定的分支,并更新工做目录以匹配。这是checkout命令的更常见用法。atom

  • git revert my_commit——撤消my_commit中更改的效果。当撤消更改时,revert会进行新的提交。

revert对于协做项目是安全的,由于它不会覆盖其余用户的分支所可能依赖的历史记录。

revert是安全的

有时你只想删除本地目录中的未跟踪文件。例如,你可能运行了一些代码,这些代码建立了许多你在repo中不须要的不一样类型的文件。那么,你能够在一瞬间把它们清洗干净!

  • git clean -n——删除本地工做目录中的未跟踪文件

-n标志用于没有删除任何内容的干运行。
使用-f标志来实际删除文件。
使用-d标志删除未跟踪的目录。
默认状况下,.gitignore未跟踪的文件不会被删除,可是能够更改此行为。

如今你已经了解了在Git中撤消操做的工具,那么让咱们来看看另外两个命令。

整理信息

若是没有执行暂存,此命令只容许你编辑最近的提交消息。只有在提交未集成到远程主分支时才使用此命令!

若是你正在使用python并对构建的包进行更改,bump2version将自动为你建立标记。一旦你推送了标记,就能够在发布中使用它们。这是我制做第一个OSS python包的指南。跟着,确保你不会错过版本控制的部分!

救命,我被困在Vim里出不来了!

使用Git,你可能有时会发现本身陷入了Vim编辑器会话。例如,假设你尝试在没有提交消息的状况下提交,Vim将自动打开。若是你不了解Vim,这有点难缠——看看这个在Stack Overflow中超过4,000投票的回答,来了解如何摆脱它。

自由了!

如下是使用保存文件逃避Vim的四步计划:
1.按i进入插入模式。
2.在第一行输入提交消息。
3.按下退出键-——Esc。
4.输入:x。别忘了冒号。
恭喜,你自由了!

改变默认编辑器

为了彻底避免Vim,能够在Git中更改默认编辑器。这里是一些带有通用编辑器命令的文档。下面是修改我使用的编辑器Atom默认值的命令:

假设你已经安装了Atom,如今能够解决其中的Git问题。太棒了!

为Git命令建立快捷方式

经过在.bash_profile中添加如下别名,为Git命令添加快捷方式。

你能够根据本身的喜爱调整Git命令的快捷方式。
若是你没有.bash_profile,可使用如下命令在macOS上建立一个:

而后打开它:

有关.bash_profile的更多信息,请点击这里
如今,当你在终端中输入gs时,它与输入git status相同。请注意,你能够在快捷方式以后在终端中输入其余标志。
你也能够制做Git别名,可是那些要求你在快捷命令以前键入git。这就画蛇添足了。

包装

在本文中,你已经看到了一些关键的Git命令,并配置了环境以节省时间。如今你已经有了Git和GitHub的基础。准备好下一步了吗?
查看这个Bitbucket Git教程,来了解更多。
探索Git分支的交互式指南。分支可能很差理解,但绝对值得一看。
去玩,去学习,向别人解释这些不一样之处。
我但愿这篇介绍Git和GitHub的文章对你有用。若是能够,请在你最喜欢的社交媒体上分享,这样其余人也能找到它。

我写的是如何有效地使用Python、Docker以及其余编程和数据科学工具。若是你对此感兴趣,请在这里阅读更多。



本文做者:【方向】

阅读原文

本文为云栖社区原创内容,未经容许不得转载。

相关文章
相关标签/搜索