9.0 小聊历史
从Git DVCS工具创建起,默认分支名一直叫master
。每个Git仓库都有一个master
分支,除非开发者明确地移除它,不过很少这么做,因为master
分支在软件开发中扮演了一个很重要的角色。
在2020年夏天,由于众多抗议活动和不断增长的社会动荡,术语master
和slave
(主从)在计算机行业中引起了广泛关注。在公开讨论中出现了几个替代master
的方案,包括default
和primary
。然而,最流行的术语是main
。
GitHub采取了行动,弃用了在Git仓库初始化时使用master
的做法。你可以通过GitHub账户设置中的Repositories或者命令切换GitHub从master
到main
:
![](https://cdn.javarush.com/images/article/9b6cbbfb-bb53-4d3d-aa24-00654bad4d8e/800.jpeg)
$ git branch -m master main
在接下来的讲座中使用master
这个术语。关于这个转变的更多信息可以在以下链接找到:
9.1 什么是Git以及它的用途
Git 是一种强大的版本控制系统, 用于在软件开发过程中跟踪源代码的更改。它使开发者 能够保存文件的不同版本,并协调多个人员在一个项目上 的工作。
Git的基本概念:
仓库
仓库(或"repo")是存储项目历史的地方,包括所有文件的更改和版本。在Git中,仓库包括工作目录、索引(或暂存区)和对象数据库。
提交
提交(commit)
是项目的保存状态。每个Git中的提交都包含了有关哪些变化被引入项目的信息,以及何时由谁引入的。提交形成了项目的历史,允许返回到任何以前的版本。
分支
分支(branch)
是一条独立的开发线。默认情况下,Git创建main(以前是master)
分支。你可以创建新分支来开发新功能或修复,然后将它们合并回主要分支。
合并和变基
合并(merge)
和变基(rebase)
是两种整合一个分支中的变化到另一个分支的方法。合并结合了两个分支的历史,创建一个新的提交,而变基将一个分支的提交移到另一个分支的顶部,改变提交历史。
9.2 Git的基本命令
这是管理版本的Git主要命令的表格:
命令 | 描述 |
---|---|
git init |
在当前目录初始化新的Git仓库。 |
git clone |
从URL克隆仓库到新的目录。 |
git add |
将文件添加到索引以进行下一个提交。 |
git commit |
记录准备好的更改到仓库中。 |
git push |
将更改从本地仓库发送到远程仓库。 |
git pull |
从远程仓库更新当前分支到最新版本。 |
git branch |
显示、创建或删除分支。 |
git merge |
将指定分支的更改合并到当前分支。 |
git rebase |
将更改移动到新的基准(通常是另一个分支)。 |
这些命令代表了Git中管理代码更改、分支和合并的基本工具,适用于任何规模的项目。在以后的讲座中我们会详细讲解这些命令。
9.3 三个代码存储的位置
当你为你的代码使用版本控制系统时,粗略来说,你的代码会存储在三个地方:
1. 远程仓库:
这是一个代码集中存储的地方,通常托管在像GitHub、GitLab或者Bitbucket这样的服务上。它们提供了代码的集中存储,并且是协作的基础。
远程仓库允许开发人员分享他们的更改,同步努力,并维护项目的变更历史。远程仓库还充当集成自动化过程的接入点,比如构建、测试和应用程序的部署。
2. 本地仓库:
本地仓库是你个人的代码副本,存储在你的计算机上。在这个仓库中,你可以在不需要互联网连接的情况下执行所有Git操作(提交、分支、合并等)。
本地仓库允许开发者独立于他们的同事工作,试验,创建新功能或修复错误,然后在更改被合并(合并)并发送到远程仓库之前完成这些任务。
3. 工作目录:
工作目录在你的计算机上包含了你当前正在处理的项目的最新文件。这是你可以查看和修改文件的地方,添加新功能或修复错误。
在你做出更改后,可以将它们添加到索引(暂存区),然后提交到本地仓库。工作目录与仓库中的当前分支相关联,改变分支会改变工作目录的内容。
这些组件共同提供了一个强大的基础设施来管理源码,使开发者能够管理项目历史,协作,并分担代码的责任。
9.4 GitHub是最受欢迎的免费仓库
GitHub — 是领先的代码托管平台,使用 版本控制系统Git。 成立于2008年,它迅速成为全球开发人员的关键工具之一。
![](https://cdn.javarush.com/images/article/e84b72c1-817a-4c10-b09d-4f58f4243717/800.jpeg)
GitHub允许用户创建仓库来管理项目,控制和跟踪代码中的更改, 与其他开发人员协作,并以公开或私人的方式进行开发。它提供了像forks、branches、pull requests和merges之类的功能,使开发者能轻松地协作开发项目。
GitHub还包括问题跟踪、功能请求、任务管理和每个项目的 wiki功能。该平台与众多工具和服务整合,提供广泛的自动化开发、测试和部署应用程序的可能性。
GitHub支持一个庞大的开发者社区,在这个社区里积极讨论最佳的编程实践、项目管理等。这不仅使其成为项目管理的工具,还成为一个社区中心,开发者在这里可以分享知识和经验。
9.5 注册GitHub
![](https://cdn.javarush.com/images/article/e705ed8e-2279-439c-9fc6-4fcb83d49fc3/800.jpeg)
步骤 1. 访问 https://github.com
步骤 2. 注册…
步骤 3. 点击"New"按钮以创建新的 仓库。
步骤 4. 指定仓库名称并设置其 参数。
步骤 5. 在项目中添加README文件 – 未来会需要它。
步骤 6. 点击"Create repository"。
GO TO FULL VERSION