Git秘诀:7条你可能不知道的命令

2020-09-23 04:36:10

在过去的几年里,Git已经成为几乎每个开发人员知识堆栈的默认组成部分。但是,即使Git非常有名,也有很多Git命令不是这样的。

在这篇简短的帖子中,我想向你展示七个小命令,它们可以帮助你变得更加高效和精通Git。让我们一头扎进去吧。

掌控一切可能很困难-特别是当许多人使用相同的代码库时。

为了帮助您准确地了解文件是如何更改的(以及何时和由谁更改),您可以使用很好的旧git log命令-但有一点趣味:

使用";-p&34;可以确保您看到的实际更改有所不同(而不仅仅是提交的元数据)。而";--from";选项可帮助您关注最近的时间范围。

有时,我们认为一大堆更改已经准备好提交-但是在提交之后,我们立即注意到我们太快了。

更改可能丢失,我们可能击中了错误的分支,或者可能发生了大量其他问题……。

唯一可以确定的是:我们想撤消上次提交,并将更改恢复到我们的工作副本中!

选项";--MIXED";确保重置的提交中包含的更改不会被丢弃。相反,它们将作为本地更改保存在工作副本中。

使用";HEAD~1&34;表示法是在最新的";提交之前指定";提交的一个很好的捷径-这正是我们想要的,以便撤消最后一个提交。

请随意阅读如何撤消上次提交中有关此主题的更多信息。

在对Feature分支中的文件进行一些更改后,您可能希望将其与另一个分支上的外观进行比较。为了举一个具体的例子,让我们说……。

然后,您将看到一个漂亮、清晰的差异,它显示您的文件与另一个分支上的文件版本有何不同。

Git checkout命令有许多不同的任务和含义。这就是为什么最近,Git社区决定发布一个新命令:Git Switch。顾名思义,它专门用于切换分支机构的任务:

如您所见,它的用法非常简单,类似于";git checkout";。但是,与结帐命令相比的巨大优势在于,开关没有太多其他含义和功能。

因为它是Git命令家族的新成员,您应该检查您的Git安装是否已经包含它。

在某些情况下,您可能需要在两个分支之间重复来回切换。您可以简单地使用以下快捷方式,而不是始终完整地写出分支机构名称:

使用破折号字符作为其唯一参数,";git switch";命令将签出之前活动的分支。如前所述,如果您必须在两个分支之间来回来回多次,这会非常方便。

直到最近,当您想要撤消本地更改时,还必须使用某种形式的git签出或git重置。

但是使用(相对较新的)git restore命令,我们现在就有了一个专门为此目的而创建的命令。这使其有别于";checkout";和";Reset";,因为这些命令还有很多其他用例。

以下是使用Git Restore可以做的最重要事情的快速概述:

#取消转储文件,但保持其实际更改不变$git restore--stated myFile.txt#丢弃特定文件中的本地更改$git restore myFile.txt#撤消工作副本中的所有本地更改(请注意)$git restore。

Git restore命令提供了另一个非常有用的选项";--source";。使用此选项的帮助,您可以轻松还原特定文件的任何以前版本:

您只需提到要恢复的版本的修订散列(当然还有文件名)。

如果你需要帮助找到正确的版本,你可以使用桌面版的Git客户端,比如Tower:有了像ITS的文件历史记录这样的功能,你可以很容易地只检查某个文件中发生的更改,然后选择要恢复的版本。

尽管Git现在非常出名,但它的大部分力量仍然不为公众所知。确实,只需几个命令,如提交、推送和拉动,您就可以存活下来。但这就像开一档法拉利一样!

如果你愿意深入一点,你会发现Git的一些更强大的功能。这些不仅有可能使您的工作效率更高,而且--最终--还能成为更好的开发人员!

如果你想了解更多关于Git的知识,我建议你看看下面的免费资源:

Git急救包:通过一系列非常短和简单的视频,了解如何撤消Git中的错误并从错误中恢复。

Git小抄:一个很受欢迎的小抄,手头总是有最重要的命令。

Tobias Günther是Tower的首席执行官,Tower是一款流行的Git桌面客户端,帮助全球超过10万名开发人员使用Git提高工作效率。

免费学习编码。FreeCodeCamp的开源课程已经帮助超过4万人找到了开发人员的工作。开始