Git 简化版:基本概念和命令
安装Git
工作原理Git?
Git基础知识
结论
感谢阅读
Git是科技行业最常用的工具之一,因为它能高效地解决版本控制问题。如果没有它git,即使是一个简单的项目最终也可能变成这样:
Git它通过跟踪所有更改,帮助管理同一代码库的不同版本。有了它git,即使是复杂的项目(例如 Material UI),最终也能简洁地呈现出来:
虽然git它确实是一个非常实用的工具,但每个人(包括我)在刚开始使用时,都会遇到很多难以理解的问题。本文旨在git为你揭开它的神秘面纱。
安装Git
要使用git它,您需要先安装它。您可以git从Git官网下载并安装。如果您在Windows 系统上使用,请确保将其添加git到您的系统配置文件中。在Linux 系统上,您可以直接通过终端使用以下命令安装:Path
sudo apt-get install git
安装完成后,要检查是否git安装正确,请执行以下命令:
git --version
工作原理Git?
Git其工作原理是,在您提交更改时(提交可以看作是保存操作),系统会存储整个代码库在特定时间点的快照。因此,您可以随时回溯到之前的任何提交并进行修改。
Git基础知识
1. 初始化存储库
在使用任何功能之前git,您需要一个存储库。要初始化存储库,请使用:
git init
2. 舞台布置变更
要提交更改,您需要先指定要提交更改的文件。这可以通过暂存更改来实现。您无需暂存所有已修改的文件,只需暂存您想要提交更改的文件即可。
要进行阶段性更改,请使用:
git add <file 01 path> <file 02 path> <...>
或者,如果你像我一样懒,可以使用以下方法暂存所有更改:
git add .
3. 提交更改
最后,我们来提交更改。要保存已暂存的更改,请使用:
git commit -m "<small description of the change (for ease of understanding)>"
你已成功完成第一次提交!!!
4. 日志
多次提交后,如果您需要查看已提交的内容,请使用以下命令查看日志:
git log
5. 重置和撤销更改
但如果我之前的提交中犯了一些错误怎么办😨???
别担心,我的朋友,git这里也有两种解决方法:
- 重置
- 恢复
重置
git reset --soft HEAD~1
让我们来分析一下这个命令。我们正在使用git reset <reset types> HEAD~<number of commits to undo>
最常用的重置类型有:
- --soft:取消提交并保留(暂存的)更改
- --hard:取消提交并删除更改
恢复
您可能也注意到,每次提交都与一个哈希值相关联。
您还可以使用哈希值来撤销特定的提交:
git revert 8a11c5095f2dcd70b0bc8c66061a1368558a3abf
分解该命令后,我们发现git revert <commit hash>。
撤销修改时会添加一个额外的提交。
哇!!!我们已经取得了相当大的进展;为自己取得的成就感到自豪吧!
现在让我们深入了解一些git比较难掌握的基本功能。
6. 分支机构
你可能需要同时开发多个不同的功能。在这种情况下,将所有变更集中在一个地方进行定义无疑是灾难性的,而且由于你还在学习阶段git,你肯定希望维护同一个项目的多个副本。
Git已经为您考虑周全!我们提供了一项功能,允许您创建代码分支,以便将诸如新增功能、修复错误等修改限制在单个分支上,该分支之后可以与其他分支合并。
以前通常将基础分支命名为master,但最近已更改为main。不过,您可以根据需要更改名称或基础分支。
要创建新分支,请使用:
git checkout -b <new branch name>
要切换到现有分支,请使用:
git checkout <branch name>
7. 合并
完成一个分支的工作后,您可能需要将另一个分支的代码更新到该分支。要合并来自其他分支的更改,请先切换到要更新的分支,然后使用以下命令:
git merge <update source branch name>
8. 冲突
如果两个分支都更新了同一文件的同一部分,则合并分支可能会导致冲突git。在这种情况下,系统无法确定保留哪个更改、丢弃哪个更改,因此git会生成冲突消息以供人工审核。
冲突消息概述了冲突发生的位置,以及当前(在分支中可用)和即将发生的更改(从另一个分支合并)。
解决冲突后,需要添加一个提交来保存已解决的合并。
结论
本文介绍了基本概念和命令,git以及如何将其添加到项目中。现在您已经掌握了这项技能,可以在项目中使用它来最大限度地提高工作效率 :)
敬请期待下周的文章,我们将深入探讨如何使用托管在GitHubgit等网站上的远程存储库。
感谢阅读
需要一位顶尖的软件开发自由职业者来解决您的开发难题吗?请通过Upwork联系我。
想联系我?请在领英上联系我。
关注我的博客,即可在Medium上获取每两周更新的精彩内容。
常问问题
以下是一些我经常被问到的问题。希望这个常见问题解答部分能解答您的疑问。
-
我是新手,应该如何学习前端Web开发?
请参考以下文章: -
您愿意指导我吗?
抱歉,我已经工作很忙了,没有时间指导任何人。

