Git是一个开源分布式版本控制系统,使开发人员能够跟踪其源代码中的更改。它是开源开发人员广泛使用的工具。虽然它是为协调编程任务而设计的,但Git可以有效地跟踪任何文件集。此外,它是由Linux内核背后的人LinusTorvalds开发的。因此,如果您是一位开源开发人员,随着时间的推移向您的软件添加功能,或者您正在与多个合作伙伴合作开发尖端企业产品,那么Git可能是您工作的理想跟踪系统。和我们一起学习一些基本的git命令,它们将大大简化您的开发周期。gitCLI提供了大量的git命令,使开发者的软件开发更加容易。为了方便读者,我们的编辑列出了一些有用的命令。因此,请继续阅读并按照自己的节奏发现它们。1.配置用户配置文件可以使用gitconfig命令配置git配置文件。您至少可以设置用户名和电子邮件地址。Git允许用户在全局或项目基础上配置这些策略。使用以下命令为每个存储库设置用户和电子邮件地址。linuxidc@ubuntu:~/www.linuxidc.com$gitconfiguser.name"linuxidc"linuxidc@ubuntu:~/www.linuxidc.com$gitconfiguser.emailroot@linuxidc.net添加--global选项以全局设置这些策略。linuxidc@ubuntu:~/www.linuxidc.com$gitconfig--globaluser.name"linuxidc"linuxidc@ubuntu:~/www.linuxidc.com$gitconfig--globaluser.emailroot@linuxidc.net2.初始化Git仓库gitwarehouse或Simplerepo是你的开源项目的根目录。它包含源文件、对象、标题和标签的子目录等。您可以使用以下命令轻松初始化git存储库。linuxidc@ubuntu:~/www.linuxidc.com$gitinit在/home/linuxidc/www.linuxidc.com/.git/初始化了空的Git仓库这是你生活中最常用的git命令之一。现在您可以开始添加源文件,并根据需要进行修改。3.添加项目文件使用git向现有项目添加文件非常容易。您可以使用gitadd命令轻松地将所有修改过的文件/目录添加到跟踪系统。快速浏览以下示例以了解其工作原理。gitaddfilelinuxidc@ubuntu:~/www.linuxidc.com$gitadd*当您发出gitadd命令时,它会将当前工作目录中的所有文件添加到项目索引中。您可以按照第一个示例中的说明指定特定文件。第二个示例将所有PHP文件添加到索引中。Git会将其标记为已上演。4.验证添加的文件您可以使用gitstatus命令来验证将在下一次提交期间暂存的文件。它将显示任何新的或更改的文件。linuxidc@ubuntu:~/www.linuxidc.com$gitstatus当你想查看详细信息时,请运行上面的命令。它将显示将要提交的所有文件的摘要列表。5.将更改提交到存储库提交更改时,git会捕获代码库的快照。这就是git跟踪更改并提供版本控制的方式。为此,您需要使用gitcommit命令。linuxidc@ubuntu:~/www.linuxidc.com$gitcommit当你运行上面的命令时,git会要求你输入一些信息,比如添加描述。它将调用您在git安装期间设置的默认Linux编辑器。使用以下命令来避免这种不当行为。linuxidc@ubuntu:~/www.linuxidc.com$gitcommit-m"LinuxidcCommit"所以如果使用-m选项,直接加上说明即可。6.显示日志每当您想查看对存储库所做的更改时,您都可以查看日志。只需在Linux终端上使用gitlog命令来执行此操作。gitloggitlog--filelinuxidc@ubuntu:~/www.linuxidc.com$gitlogcommit482b4bebada278b29001338411de7c42743065d5(HEAD->master)作者:linuxidc日期:ThuApr3014:21:462020+08关于.如果只想查看特定文件的更改,请使用第二个命令。您还可以添加更多选项,例如--log-size选项,甚至可以使用正则表达式搜索提交。提交并显示日志。7.验证项目分支git分支代表项目中独立的开发线。您可以使用gitbranch命令非常轻松地检查当前分支。它将向您显示您正在开发新功能或修改旧功能的当前活动分支。linuxidc@ubuntu:~/www.linuxidc.com$gitbranch*master*主输出将用星号(*)标记当前分支。8.重置项目分支您可以轻松地将当前存储库和工作目录重置为已知状态。gitreset命令将调整HEAD对特定提交的引用,并相应地更新索引以匹配该特定提交。linuxidc@ubuntu:~/www.linuxidc.com$gitreset使用以下命令对当前分支执行软重置。linuxidc@ubuntu:~/www.linuxidc.com$gitreset--soft您也可以以类似的方式执行硬重置。只需将-soft替换为hard选项,如以下示例所示。linuxidc@ubuntu:~/www.linuxidc.com$gitreset--hard9.添加一个新分支添加一个新分支可以让您独立处理更新的功能。您可以使用gitbranch命令轻松添加分支。只需添加分支名称,如下所示。linuxidc@ubuntu:~/www.linuxidc.com$gitbranchnew-linuxidc通过发出gitbranch命令验证添加是否成功。它应该显示新创建的名为new-linuxidc的分支。但是,您不能添加具有相同分支名称的多个分支。它将导致致命错误。10.分支间切换你可以使用checkout命令非常方便地在项目的各个分支间切换。它是您在软件开发过程中最常用的git命令之一。快速浏览下一个示例,了解它是如何工作的。linuxidc@ubuntu:~/www.linuxidc.com$gitcheckoutnew-linuxidc这个命令会通知你分支已经切换成功。您还可以使用前面显示的gitbranch命令验证这一点。11.删除项目分支在你成功开发新功能后,你希望将它们添加到gitmaster分支。完成此操作后,您可以完全删除该分支。git命令的-D选项使我们可以轻松地做到这一点。linuxidc@ubuntu:~/www.linuxidc.com$gitcheckoutmaster切换到“master”分支c4488c.webp"target="_blank">c4488c.webp"width="auto"border="0"height="auto"alt=""title="">需要先离开分支才能删除成功。否则git会抛出错误。12.检查提交、树和文件之间的差异gitdiff命令允许我们查看两个或多个文件(工作树和索引树)在提交之间和blob对象之间的变化。它是用于跟踪代码库更改的最基本的git命令之一。gitdiffgitdiffnew-linuxidcmaster第一个例子将显示工作树和索引树之间的变化。第二个例子将显示master分支和new-linuxidc分支之间的变化。13.合并两个分支你可以使用gitmerge命令轻松合并两个不同的开发分支。它将两个分支合并为一个统一的分支。您可以出于多种目的使用gitmerge命令。请参阅下面的示例以了解如何使用它们。gitmergefixesnew-linuxidcgitmergefixesnew-linuxidcgitmerge-soursobsoletegitmerge--no-commitmaingitmerge--no-commitmain第一个例子合并了两个分支的新特性和修复以创建一个分支。第二个示例使用我们的策略将obsol]分支合并到当前开发分支中。最后一个示例将分支main合并到当前分支,但禁用自动提交。14.恢复现有提交有时,您可能会决定不再需要某些提交。在这种情况下,还原这些提交比完全修改分支要好。gitrevert命令允许我们这样做。gitrevert482b4bebada278b29001338411de7c42743065d5gitrevertHEAD~3第一个示例将还原提交ID482b4bebada278b290013338411de7c42743065d5引入的更改。第二个示例重复HEAD中倒数第四次提交,并执行新的提交。15.隐藏工作目录你可以暂时将工作目录的当前状态保存在某处,以后需要时再返回。这在git术语中称为存储。它只存储工作目录的状态和索引,以便您可以处理新内容。这个命令是gitstash开发人员遇到乱七八糟的情况时常用的。它允许他们存储不整洁的工作流程并在以后修复它们。使用storagelist命令查看存储列表。gitstashlist16.克隆存储库开源的最大优点之一是您可以像使用别人的代码一样使用其他人的代码。Git使使用gitclone命令下载现有项目变得容易。看看下面的插图,看看它在现实生活中是如何工作的。gitclonegitclonegit://example.com/git.git/test-dir这会将上述项目下载到系统的test-dir目录中。17.获取新更新现实生活中的物品总是在开发中。假设您之前从远程存储库克隆了一个存储库。当开发人员使用新功能更新存储库时,您会怎么做?一遍又一遍地将相同的repo克隆到本地机器是不方便的。gitpull命令避免了这种情况。gitpull此命令将使用协作者所做的任何新更新来更新项目的本地版本。请记住在获取最新更新之前将工作目录更改为项目目录。18.推送你的更新一旦你完成了你的更新处理,你可以通过添加它来将它添加到远程存储库。gitpush和gitcommit的区别在于,当你提交一些更改时,它们将被添加到本地存储库而不是远程存储库。gitpush此命令会将您的更新添加到项目的远程存储库。通常,您将使用推拉方式与远程开发人员协作。因此,完美掌握它们很重要。19.ShowRemoteRepositoriesgitremote命令允许我们从Linux终端方便地管理一组被跟踪的存储库。您可以使用它来仅克隆某些选定的分支。gitremotegitremote--verbose第一个示例将显示当前配置的所有远程存储库。添加--verbose标志将向我们显示有关此的详细信息。20.连接到远程存储库您可以设置远程存储库以将本地存储库连接到远程服务器。这样,您可以将本地更改直接推送到远程服务器。$gitremoteaddorigin命令会将“origin”作为远程名称添加到服务器。您可以通过浏览GitHub存储库的源子选项卡来发现服务器URL。