十大实用git命令:10个你应该了解的Git命令,以及Git省时小窍门
十大实用git命令:10个你应该了解的Git命令,以及Git省时小窍门如果你正在协作工作,并且需要撤销在远程分支中的提交,那么就使用git revert。如果你只是处理尚未合并到协作远程工作中的本地提交,则可以使用这些命令中的任何一个。用git查看信息并不是很混乱。相比之下,Git提供了大量的选项来删除、撤消提交和文件更改。git reset、git checkout和git revert用于撤消对存储库所做更改的影响。这些命令可能很难理解。git reset和git checkout可用于提交和单个文件。git revert仅用于提交级别。
在本文中,我们将讨论那些作为开发人员、数据科学家或产品经理应该知道的各种各样的Git命令。并且将使用Git查看、删除和整理。此外,我们还将介绍如何使用Bash别名和Git编辑器配置转义Vim和节省时间的方法。
如果你不熟悉基本的git命令,那么在阅读本文之前,请查看我之前关于git工作流的文章。
下面是需要了解的10个命令和它们的一些常见标志。每个命令都链接到该命令的Atlassian Bitbucket指南。
查看信息首先,让我们来查看变化。
- 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。
这些命令中的每一个都可以采用多种选择。 以下是常见用途:
- git reset --hard HEAD——丢弃自最近提交以来的阶段性和非阶段性更改。
指定一个不同的提交,而不是HEAD来丢弃自提交以来的更改。——hard指定阶段性和非阶段性的更改。
确保你不会放弃协作者所依赖的远程分支的提交!
- git checkout my_commit——放弃my_commit之后非阶段性的更改。
HEAD通常用于my_commit,以放弃自最近一次提交以来对本地工作目录的更改。
checkout最适合用于本地撤销。它不会打乱协作者所依赖的远程分支的提交历史记录!
如果你将checkout与分支一起使用,而不是使用提交,则HEAD将切换到指定的分支,并更新工作目录以匹配。这是checkout命令的更常见用法。
- git revert my_commit——撤消my_commit中更改的效果。当撤消更改时,revert会进行新的提交。
revert对于协作项目是安全的,因为它不会覆盖其他用户的分支所可能依赖的历史记录。
revert是安全的
有时你只想删除本地目录中的未跟踪文件。例如,你可能运行了一些代码,这些代码创建了许多你在repo中不需要的不同类型的文件。那么,你可以在一瞬间把它们清洗干净!
- git clean -n——删除本地工作目录中的未跟踪文件
-n标志用于没有删除任何内容的干运行。
使用-f标志来实际删除文件。
使用-d标志删除未跟踪的目录。
默认情况下,.gitignore未跟踪的文件不会被删除,但是可以更改此行为。