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

简介: 在本文中,我们将讨论那些作为开发人员、数据科学家或产品经理应该知道的各种各样的Git命令。并且将使用Git查看、删除和整理。此外,我们还将介绍如何使用Bash别名和Git编辑器配置转义Vim和节省时间的方法。

test

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

查看信息

首先,让我们来查看变化。

test

  • 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仅用于提交级别。
如果你只是处理尚未合并到协作远程工作中的本地提交,则可以使用这些命令中的任何一个。
如果你正在协作工作,并且需要撤销在远程分支中的提交,那么就使用git revert。

test


这些命令中的每一个都可以采用多种选择。 以下是常见用途:

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

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

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

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

test


revert是安全的


有时你只想删除本地目录中的未跟踪文件。例如,你可能运行了一些代码,这些代码创建了许多你在repo中不需要的不同类型的文件。那么,你可以在一瞬间把它们清洗干净!
  • git clean -n——删除本地工作目录中的未跟踪文件

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

test


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

整理信息

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

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

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

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

test


自由了!


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

改变默认编辑器

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

假设你已经安装了Atom,现在可以解决其中的Git问题。太棒了!

为Git命令创建快捷方式

test


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

test


你可以根据自己的喜好调整Git命令的快捷方式。
如果你没有.bash_profile,可以使用以下命令在macOS上创建一个:

test


然后打开它:

test


有关.bash_profile的更多信息,请点击 这里
现在,当你在终端中输入gs时,它与输入git status相同。请注意,你可以在快捷方式之后在终端中输入其他标志。
你也可以制作Git别名,但是那些要求你在快捷命令之前键入git。这就多此一举了。

包装

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

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

作者信息

Jeff Hale

本文由阿里云云栖社区组织翻译。
文章原标题《10 Git Commands You Should Know》,译者:Viola,审校:么凹喵。
文章简译,更为详细的内容,请查看原文

相关文章
|
4月前
|
存储 开发工具 git
|
26天前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
44 1
[Git]入门及其常用命令
|
4月前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
71 0
|
2月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
120 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
29天前
|
开发工具 git 开发者
|
29天前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
45 0
|
3月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
无论团队项目还是个人开发,掌握 Git 命令都是必备技能。本文介绍 Git 的基本概念与命令,如初始化仓库 (`git init`)、添加文件 (`git add`)、提交更改 (`git commit`)、检出分支 (`git checkout`)、合并分支 (`git merge`) 等,还分享了高级技巧如查看差异 (`git diff`)、撤销提交 (`git revert`)、修复合并冲突 (`git mergetool`) 和使用别名简化命令 (`git config --global alias.ci commit`)。
|
3月前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7
|
3月前
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】
|
3月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
本文介绍 Git 的核心概念,如仓库、提交、分支与合并,并提供了常用命令,如初始化仓库 (`git init`)、提交更改 (`git commit -m "Commit message"`)、拉取 (`git pull`) 和推送 (`git push`) 等。此外,还分享了高级技巧,如撤销提交 (`git revert <commit>`)、交互式暂存 (`git add -i`) 和使用别名简化命令 (`git config --global alias.ci commit`) 等,帮助开发者提升效率。无论是初学者还是资深开发者,都能从中受益。