写论文的网站,金融网站源码 asp,北京快速建站制作公司,188建站系统源码Git和GitHub是每个软件工程师都必须了解的最基本的工具。它们是开发人员日常工作不可或缺的一部分#xff0c;每天都要与之互动。
精通Git不仅能简化你的日常操作#xff0c;还能显著提高生产力。在这篇文章中#xff0c;我们将探讨一组能够极大提升生产力的命令。
随着对…
Git和GitHub是每个软件工程师都必须了解的最基本的工具。它们是开发人员日常工作不可或缺的一部分每天都要与之互动。
精通Git不仅能简化你的日常操作还能显著提高生产力。在这篇文章中我们将探讨一组能够极大提升生产力的命令。
随着对这些命令越来越熟练的运用会节省大量的时间成为一个更高效的软件工程师。
Git 术语
在逐一深入探讨Git命令之前我们先来熟悉一些基本的Git术语。这不仅有助于更好地理解这些命令而且在本文后续的部分使用这些术语时也能避免混淆。
HEAD
在Git中HEAD是一个特殊的指针/引用始终指向当前分支中的最新提交。当你进行新的提交时HEAD会向前移动指向那个新的提交。例如如果你处于main分支并进行了新的提交HEAD现在将指向那个新的提交表明它是main分支中最新的提交。
^尖角符号
在Git中^符号用作导航穿越项目历史时间线的手段。当你使用HEAD^时它引用的是你当前提交之前的提交。如果你在^后面追加一个数字比如HEAD^2它指的是当前提交之前的第二个提交。简而言之^符号允许你在项目的历史中向后遍历而数字值让你能够精确地确定你希望回退的提交数量。
暂存Staging
暂存是你组装下一个提交中想要包含的更改的地方。暂存让你能够仔细策划你的提交使其易于审查、组织和完善你的修改。有了暂存你可以控制哪些更改包含在你的提交中。要暂存更改你使用git add命令这类似于声明“我希望这些更改成为我的下一个提交的一部分”。
现在让我们逐一探索这10个Git命令。
1、同时添加和提交文件
通常在Git中我们使用git add *命令来暂存所有已修改的文件以备后续提交。之后使用git commit -m commitMessage命令来提交这些更改。然而存在一个更加高效的命令可以一步完成这两个任务
git commit -am commitMessage-am标志不仅允许我们暂存这些更改而且还能在一个高效的操作中提交它们。
2、创建并切换到一个Git分支
与前面的场景类似另一个命令也结合了两个命令的功能。不是使用两个分开的命令一个是git branch branchName来创建分支然后是git checkout branchName来切换到它。
可以使用以下命令在一个步骤中完成这两个任务
git checkout -b branchName-b标志和git checkout命令一起使用不仅允许我们创建一个新的分支还能立即切换到它。
3、删除一个Git分支
要在Git中删除一个分支可以使用git branch -d或者git branch -D命令。-d选项是安全删除它只会在该分支已经完全合并到当前分支时才删除它。-D选项是强制删除无论该分支是否已经完全合并都会删除它。以下是命令。
安全删除检查合并
git branch -d branchName强制删除不检查合并
git branch -D branchName4、重命名一个Git分支
要重命名一个分支可以使用git branch -m命令后面跟着当前分支名和新的期望分支名。例如如果你想把一个叫做oldBranch的分支重命名为newBranch执行以下命令
git branch -m oldBranch newBranch然而如果你想重命名现在正工作的当前分支而不显式指定旧名称可以使用以下命令
git branch -m newBranchName这里你不需要指定旧的分支名因为Git会假设你想将当前分支重命名为新的名称。
5、取消暂存特定文件
有时可能想要从暂存区中移除特定的文件以便在提交前进行额外的修改。使用
git reset filename这将取消该文件的暂存状态同时保持你的更改不变。
6、丢弃对特定文件的更改
如果你想完全放弃对特定文件所作的更改并将其恢复到最后一次提交的状态使用
git checkout -- filename这个命令确保文件回到它之前的状态撤销任何最近的修改。它是一种在不影响其他更改的情况下重新开始编辑特定文件的有用方式。
7、更新你的最后一次 Git 提交
想象一下你刚刚在Git仓库中做了一个提交但随后你意识到你忘记在那次提交中包含一个更改或者你可能想要修正提交信息本身。你不想为这个小改动创建一个全新的提交。相反你想要把它添加到之前的提交中。这时可以使用的命令
git commit --amend -m message这个命令修改了你最近做的提交。它将任何已暂存的更改你已经用git add添加的和你的新评论结合起来创建一个更新的提交。
需要记住的一点是如果你已经将提交推送到远程仓库你需要使用 git push --force 来强制推送更改以更新远程分支。因为标准的git push操作是将一个新的提交追加到你的远程仓库而不是修改最后的提交。
8、暂存更改
想象你正在同时在两个不同的分支上工作A和B。当你在分支A上做更改时你的团队要求你在分支B中修复一个bug。当你尝试使用git checkout B切换到分支B时Git阻止了这个操作并显示了一个错误
我们可以按照错误消息的建议提交更改。但提交更像是一个固定的时间点并不是一个正在进行中的工作。这时可以应用错误消息的第二个建议并使用暂存功能的地方。我们可以使用这个命令来暂存更改
git stashgit stash临时保存你还没准备好提交的更改允许你切换分支或者在不提交未完成工作的情况下进行其他任务。
要在我们的分支中重新应用暂存的更改你可以使用git stash apply或者git stash pop。这两个命令都恢复最新暂存的更改。应用暂存只是恢复更改而弹出暂存则是恢复更改并将其从暂存中移除。
9、还原Git提交
想象你正在一个Git项目上工作发现一个特定的提交引入了一些不希望的更改。你需要撤销这些更改但又不想从历史记录中擦除该提交。你可以使用以下命令来撤销那个特定的提交
git revert commitHash这是一种安全且非破坏性的方式来纠正你的项目中的错误或不想要的修改。 例如假设你有一系列的提交
提交 A提交 B这里引入了不希望的更改提交 C提交 D
为了逆转提交B的影响运行如下命令
git revert commitHashOfBGit将会创建一个新的提交我们称之为提交E它将抵消提交B引入的更改。提交E成为你分支中的最新提交项目现在反映的状态就像提交B从未发生过一样。
如果你想知道如何检索提交哈希值使用git reflog是直接的。在下面的截图中高亮的部分代表你可以轻松复制的提交哈希值 10、重置Git提交
假设你对项目进行了提交。然而在检查后你意识到需要调整或完全撤销最后一次提交。对于这种情况Git提供了这些强大的命令。
软重置
git reset --soft HEAD^当使用git reset --soft HEAD^时执行一个软重置。这个命令允许回溯到最后一次提交同时保留所有更改在暂存区中。简单来说可以使用这个命令轻松地撤销提交同时保留你的代码更改。当需要修改最后的提交也许是在再次提交之前添加更多更改时这很方便。
混合重置
git reset --mixed HEAD^这是当你不指定--soft或--hard时使用git reset HEAD^的默认行为。它撤销了最后的提交并从暂存区中移除了它的更改。然而它会保留这些更改在工作目录中。当你想要撤销最后的提交并从头开始进行更改同时在重新提交之前保持更改在工作目录中时这很有帮助。
硬重置
git reset --hard HEAD^现在来看看git reset --hard HEAD^。它会彻底抹除最后的提交以及所有相关更改从你的Git历史记录中。当你使用--hard标志时就没有回头路了。所以在你想要永久性地丢弃最后的提交及其所有更改时一定要非常谨慎地使用。
小结
希望这篇文章对你有所帮助可以学到了一些新的Git命令。