当前位置:首页 > 科技  > 软件

揭秘Git高手的十个秘密武器:让你的工作效率飙升!

来源: 责编: 时间:2023-11-30 09:30:22 190观看
导读Git和GitHub是每个软件工程师都必须了解的最基本的工具。它们是开发人员日常工作不可或缺的一部分,每天都要与之互动。精通Git不仅能简化你的日常操作,还能显著提高生产力。在这篇文章中,我们将探讨一组能够极大提升生产

Git和GitHub是每个软件工程师都必须了解的最基本的工具。它们是开发人员日常工作不可或缺的一部分,每天都要与之互动。ajF28资讯网——每日最新资讯28at.com

精通Git不仅能简化你的日常操作,还能显著提高生产力。在这篇文章中,我们将探讨一组能够极大提升生产力的命令。ajF28资讯网——每日最新资讯28at.com

随着对这些命令越来越熟练的运用,会节省大量的时间,成为一个更高效的软件工程师。ajF28资讯网——每日最新资讯28at.com

Git 术语

在逐一深入探讨Git命令之前,我们先来熟悉一些基本的Git术语。这不仅有助于更好地理解这些命令,而且在本文后续的部分使用这些术语时,也能避免混淆。ajF28资讯网——每日最新资讯28at.com

HEAD

在Git中,HEAD是一个特殊的指针/引用,始终指向当前分支中的最新提交。当你进行新的提交时,HEAD会向前移动,指向那个新的提交。例如,如果你处于main分支,并进行了新的提交,HEAD现在将指向那个新的提交,表明它是main分支中最新的提交。ajF28资讯网——每日最新资讯28at.com

^(尖角符号):

在Git中,^符号用作导航穿越项目历史时间线的手段。当你使用HEAD^时,它引用的是你当前提交之前的提交。如果你在^后面追加一个数字,比如HEAD^2,它指的是当前提交之前的第二个提交。简而言之,^符号允许你在项目的历史中向后遍历,而数字值让你能够精确地确定你希望回退的提交数量。ajF28资讯网——每日最新资讯28at.com

暂存(Staging)

暂存是你组装下一个提交中想要包含的更改的地方。暂存让你能够仔细策划你的提交,使其易于审查、组织和完善你的修改。有了暂存,你可以控制哪些更改包含在你的提交中。要暂存更改,你使用git add命令,这类似于声明“我希望这些更改成为我的下一个提交的一部分”。ajF28资讯网——每日最新资讯28at.com

现在,让我们逐一探索这10个Git命令。ajF28资讯网——每日最新资讯28at.com

1、同时添加和提交文件

通常,在Git中,我们使用git add *命令来暂存所有已修改的文件以备后续提交。之后,使用git commit -m "commitMessage"命令来提交这些更改。然而,存在一个更加高效的命令可以一步完成这两个任务:ajF28资讯网——每日最新资讯28at.com

git commit -am "commitMessage"

-am标志不仅允许我们暂存这些更改,而且还能在一个高效的操作中提交它们。ajF28资讯网——每日最新资讯28at.com

2、创建并切换到一个Git分支

与前面的场景类似,另一个命令也结合了两个命令的功能。不是使用两个分开的命令,一个是git branch branchName来创建分支,然后是git checkout branchName来切换到它。ajF28资讯网——每日最新资讯28at.com

可以使用以下命令在一个步骤中完成这两个任务:ajF28资讯网——每日最新资讯28at.com

git checkout -b branchName

-b标志和git checkout命令一起使用,不仅允许我们创建一个新的分支,还能立即切换到它。ajF28资讯网——每日最新资讯28at.com

3、删除一个Git分支

要在Git中删除一个分支,可以使用git branch -d或者git branch -D命令。-d选项是安全删除,它只会在该分支已经完全合并到当前分支时才删除它。-D选项是强制删除,无论该分支是否已经完全合并都会删除它。以下是命令。ajF28资讯网——每日最新资讯28at.com

安全删除(检查合并):ajF28资讯网——每日最新资讯28at.com

git branch -d branchName

强制删除(不检查合并):ajF28资讯网——每日最新资讯28at.com

git branch -D branchName

4、重命名一个Git分支

要重命名一个分支,可以使用git branch -m命令,后面跟着当前分支名和新的期望分支名。例如,如果你想把一个叫做oldBranch的分支重命名为newBranch,执行以下命令:ajF28资讯网——每日最新资讯28at.com

git branch -m oldBranch newBranch

然而,如果你想重命名现在正工作的当前分支,而不显式指定旧名称,可以使用以下命令:ajF28资讯网——每日最新资讯28at.com

git branch -m newBranchName

这里,你不需要指定旧的分支名,因为Git会假设你想将当前分支重命名为新的名称。ajF28资讯网——每日最新资讯28at.com

5、取消暂存特定文件

有时,可能想要从暂存区中移除特定的文件,以便在提交前进行额外的修改。使用:ajF28资讯网——每日最新资讯28at.com

git reset filename

这将取消该文件的暂存状态,同时保持你的更改不变。ajF28资讯网——每日最新资讯28at.com

6、丢弃对特定文件的更改

如果你想完全放弃对特定文件所作的更改,并将其恢复到最后一次提交的状态,使用:ajF28资讯网——每日最新资讯28at.com

git checkout -- filename

这个命令确保文件回到它之前的状态,撤销任何最近的修改。它是一种在不影响其他更改的情况下重新开始编辑特定文件的有用方式。ajF28资讯网——每日最新资讯28at.com

7、更新你的最后一次 Git 提交

想象一下,你刚刚在Git仓库中做了一个提交,但随后你意识到你忘记在那次提交中包含一个更改,或者你可能想要修正提交信息本身。你不想为这个小改动创建一个全新的提交。相反,你想要把它添加到之前的提交中。这时可以使用的命令:ajF28资讯网——每日最新资讯28at.com

git commit --amend -m 'message'

这个命令修改了你最近做的提交。它将任何已暂存的更改(你已经用git add添加的)和你的新评论结合起来创建一个更新的提交。ajF28资讯网——每日最新资讯28at.com

需要记住的一点是,如果你已经将提交推送到远程仓库,你需要使用 git push --force 来强制推送更改以更新远程分支。因为标准的git push操作是将一个新的提交追加到你的远程仓库,而不是修改最后的提交。ajF28资讯网——每日最新资讯28at.com

8、暂存更改

想象你正在同时在两个不同的分支上工作,A和B。当你在分支A上做更改时,你的团队要求你在分支B中修复一个bug。当你尝试使用git checkout B切换到分支B时,Git阻止了这个操作,并显示了一个错误:ajF28资讯网——每日最新资讯28at.com

图片图片ajF28资讯网——每日最新资讯28at.com

我们可以按照错误消息的建议提交更改。但提交更像是一个固定的时间点,并不是一个正在进行中的工作。这时可以应用错误消息的第二个建议并使用暂存功能的地方。我们可以使用这个命令来暂存更改:ajF28资讯网——每日最新资讯28at.com

git stash

git stash临时保存你还没准备好提交的更改,允许你切换分支或者在不提交未完成工作的情况下进行其他任务。ajF28资讯网——每日最新资讯28at.com

要在我们的分支中重新应用暂存的更改,你可以使用git stash apply或者git stash pop。这两个命令都恢复最新暂存的更改。应用暂存只是恢复更改,而弹出暂存则是恢复更改并将其从暂存中移除。ajF28资讯网——每日最新资讯28at.com

9、还原Git提交

想象你正在一个Git项目上工作,发现一个特定的提交引入了一些不希望的更改。你需要撤销这些更改,但又不想从历史记录中擦除该提交。你可以使用以下命令来撤销那个特定的提交:ajF28资讯网——每日最新资讯28at.com

git revert commitHash

这是一种安全且非破坏性的方式来纠正你的项目中的错误或不想要的修改。例如,假设你有一系列的提交:ajF28资讯网——每日最新资讯28at.com

  • 提交 A
  • 提交 B(这里引入了不希望的更改)
  • 提交 C
  • 提交 D

为了逆转提交B的影响,运行如下命令:ajF28资讯网——每日最新资讯28at.com

git revert commitHashOfB

Git将会创建一个新的提交,我们称之为提交E,它将抵消提交B引入的更改。提交E成为你分支中的最新提交,项目现在反映的状态就像提交B从未发生过一样。ajF28资讯网——每日最新资讯28at.com

如果你想知道如何检索提交哈希值,使用git reflog是直接的。在下面的截图中,高亮的部分代表你可以轻松复制的提交哈希值:ajF28资讯网——每日最新资讯28at.com

图片图片ajF28资讯网——每日最新资讯28at.com

10、重置Git提交

假设你对项目进行了提交。然而,在检查后,你意识到需要调整或完全撤销最后一次提交。对于这种情况,Git提供了这些强大的命令。ajF28资讯网——每日最新资讯28at.com

软重置:ajF28资讯网——每日最新资讯28at.com

git reset --soft HEAD^

当使用git reset --soft HEAD^时,执行一个软重置。这个命令允许回溯到最后一次提交,同时保留所有更改在暂存区中。简单来说,可以使用这个命令轻松地撤销提交,同时保留你的代码更改。当需要修改最后的提交,也许是在再次提交之前添加更多更改时,这很方便。ajF28资讯网——每日最新资讯28at.com

混合重置:ajF28资讯网——每日最新资讯28at.com

git reset --mixed HEAD^

这是当你不指定--soft或--hard时使用git reset HEAD^的默认行为。它撤销了最后的提交,并从暂存区中移除了它的更改。然而,它会保留这些更改在工作目录中。当你想要撤销最后的提交并从头开始进行更改,同时在重新提交之前保持更改在工作目录中时,这很有帮助。ajF28资讯网——每日最新资讯28at.com

硬重置:ajF28资讯网——每日最新资讯28at.com

git reset --hard HEAD^

现在,来看看git reset --hard HEAD^。它会彻底抹除最后的提交以及所有相关更改从你的Git历史记录中。当你使用--hard标志时,就没有回头路了。所以在你想要永久性地丢弃最后的提交及其所有更改时,一定要非常谨慎地使用。ajF28资讯网——每日最新资讯28at.com

小结

希望这篇文章对你有所帮助,可以学到了一些新的Git命令。ajF28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-35337-0.html揭秘Git高手的十个秘密武器:让你的工作效率飙升!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 我们一起聊聊Python协程和异步编程

下一篇: 揭秘Java三宝:final,static,volatile,面试中的关键字秘籍!

标签:
  • 热门焦点
  • 6月安卓手机好评榜:魅族20 Pro蝉联冠军

    6月安卓手机好评榜:魅族20 Pro蝉联冠军

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年6月1日至6月30日,仅限国内市场。第一名:魅族20 Pro好评率:95%5月份的时候魅族20 Pro就是
  • 如何使用JavaScript创建一只图像放大镜?

    如何使用JavaScript创建一只图像放大镜?

    译者 | 布加迪审校 | 重楼如果您曾经浏览过购物网站,可能遇到过图像放大功能。它可以让您放大图像的特定区域,以便浏览。结合这个小小的重要功能可以大大改善您网站的用户体验
  • .NET 程序的 GDI 句柄泄露的再反思

    .NET 程序的 GDI 句柄泄露的再反思

    一、背景1. 讲故事上个月我写过一篇 如何洞察 C# 程序的 GDI 句柄泄露 文章,当时用的是 GDIView + WinDbg 把问题搞定,前者用来定位泄露资源,后者用来定位泄露代码,后面有朋友反
  • 一文搞定Java NIO,以及各种奇葩流

    一文搞定Java NIO,以及各种奇葩流

    大家好,我是哪吒。很多朋友问我,如何才能学好IO流,对各种流的概念,云里雾里的,不求甚解。用到的时候,现百度,功能虽然实现了,但是为什么用这个?不知道。更别说效率问题了~下次再遇到,
  • 阿里大调整

    阿里大调整

    来源:产品刘有媒体报道称,近期淘宝天猫集团启动了近年来最大的人力制度改革,涉及员工绩效、层级体系等多个核心事项,目前已形成一个初步的“征求意见版”:1、取消P序列
  • iQOO Neo8 Pro真机谍照曝光:天玑9200+和V1+旗舰双芯加持

    iQOO Neo8 Pro真机谍照曝光:天玑9200+和V1+旗舰双芯加持

    去年10月,iQOO推出了iQOO Neo7系列机型,不仅搭载了天玑9000+,而且是同价位唯一一款天玑9000+直屏旗舰,一经上市便受到了用户的广泛关注。在时隔半年后,
  • 滴滴违法违规被罚80.26亿 共存在16项违法事实

    滴滴违法违规被罚80.26亿 共存在16项违法事实

    滴滴违法违规被罚80.26亿 存在16项违法事实开始于2121年7月,历经一年时间,网络安全审查办公室对“滴滴出行”网络安全审查终于有了一个暂时的结束。据“网信
  • 苹果140W USB-C充电器:采用氮化镓技术

    苹果140W USB-C充电器:采用氮化镓技术

    据10 月 30 日 9to5 Mac 消息报道,当苹果推出新的 MacBook Pro 2021 时,该公司还推出了新的 140W USB-C 充电器,附赠在 MacBook Pro 16 英寸机型的盒子里,也支
  • AI艺术欣赏体验会在上海梅赛德斯奔驰中心音乐俱乐部上演

    AI艺术欣赏体验会在上海梅赛德斯奔驰中心音乐俱乐部上演

    光影交错的镜像世界,虚实幻化的视觉奇观,虚拟偶像与真人共同主持,这些场景都出现在2019世界人工智能大会的舞台上。8月29日至31日,“AI艺术欣赏体验会”在上海
Top