Git
Git 是一种版本控制系统,可以跟踪文件的更改,并协调多人对这些文件的工作。它通常用于软件开发,但也可用于跟踪任何文件集的更改。
使用 Git,可以记录谁对文件的哪部分进行了哪些更改,并且可以根据需要恢复到文件的早期版本。Git 还使与其他人写作变得容易,因为可以共享更改并将不同人所做的更改合并到文件的单个版本中。
Github
GitHub 是一个基于 Web 的平台,提供使用 Git 进行版本控制的托管。它是 Microsoft 的子公司,提供 Git 的所有分布式版本控制和源代码管理 (SCM) 功能,并添加自己的功能。
GitHub 是一个非常流行的开发人员共享和协作项目的平台,它也用于托管开源项目。
版本控制及其种类
版本控制是一种跟踪一个文件或一组文件随时间变化的系统,以便以后可以调用特定的版本。它允许将文件恢复到以前的状态、将整个项目恢复到以前的状态,比较一段时间内的更改、查看谁最后一次修改了可能导致问题的内容、谁引入了问题以及何时引入等等。
版本控制系统主要有两种类型:集中式版本控制系统和分布式版本控制系统。
- 集中式版本控制系统(CVCS)使用中央服务器来存储项目文件的所有版本。开发人员从中央服务器**签出(check out)文件,进行修改后,然后签入(check in)**更新的文件。CVCS 的例子包括 Subversion 和 Perforce。
- 分布式版本控制系统(DVCS)允许开发人员克隆整个存储库,包括项目的整个版本历史记录。这意味着他们拥有存储库的完整本地副本,包括所有分支和过去的版本。开发人员可以独立工作,然后将他们的更改合并到主存储库。DVCS 的示例包括 Git、Mercurial 和 Darcs。
为何使用分布式版本控制系统
- 更好的协作:在分布式版本控制系统中,每个开发人员都拥有存储库的完整副本,包括所有更改的完整历史记录。这使得开发人员更容易一起工作,因为他们不必不断与中央服务器通信来提交他们的更改或查看其他人所做的更改。
- 提高速度:由于开发人员拥有存储库的本地副本,因此他们可以更快地提交更改并执行其他版本控制操作,因为他们不必与中央服务器通信。
- 更好的灵活性:通过分布式版本控制系统,开发人员可以离线工作,并在稍后有互联网连接时提交更改。他们还可以选择仅与团队的一部分成员共享更改,而不是将所有更改推送到中央服务器。
- 增强的安全性:在分布式版本控制系统中,存储库历史记录存储在多个服务器和计算机上,这使其更能防止数据丢失。如果集中式版本控制系统中的中央服务器出现故障或存储库损坏,则很难恢复丢失的数据。
总体而言,分布式版本控制系统的去中心化性质可以实现更好的协作、灵活性和安全性,使得其更受开发者和团队的喜欢。
Git 的安装
在计算机上安装 Git。Git 可用于各种操作系统,包括 Windows、macOS 和 Linux,可以按照下列步骤操作:
- 访问 Git 官方网站进行下载:https://git-scm.com/downloads[1]
image.png
- 选择适合自己操作系统的安装程序。
- 运行安装程序并按照屏幕上的提示完成安装。
- 安装完成后,打开终端或命令提示符并键入
git --version
以验证 Git 是否正确安装。正确安装会看到显示 Git 的版本号。
C:UsersAdministrator>git --version
git version 2.40.0.windows.1
创建 Github 账户
GitHub 是一个广泛使用的平台,用于托管 Git 存储库和项目协作。如果您还没有 GitHub 账户,请按照以下步骤创建一个:
- 打开网络浏览器并访问 github.com[2]。
- 在 Github 主页上,单击注册(Sign up) 按钮。
- 填写所需信息,包括用户名、邮箱和密码等。
- 根据需要选择一个计划(免费或付费,根据自己需要)
- 完成验证过程,这可能涉及解决验证码或验证你的邮箱地址。
完成后,就可以成功创建 Github 账户。
在 Github 上创建新存储库
在 Github 上创建新存储库,我们就可以它来存储和管理我们的代码。以下是创建的步骤操作:
- 打开网络浏览器并访问 github.com[3]。
- 登录你的 Github 账户。
- 在 Github 主页上,单击右上角" "按钮,然后从下拉菜单中选择新建存储库(New repository) 。
image.png
- 为你的存储库指定一个有意义的名称。
- 根据你自己的需求选择存储库的可见性(公共或私有)。
- 单击创建存储库(Create repository) 按钮来创建存储库。
image.png
克隆存储库到本地
要在本地处理存储库,需要将其克隆到自己本地的计算机。可按如下操作:
- 在 GitHub 的存储库页面上,单击代码(Code)按钮。
image.png
- 复制存储库的 URL。
- 在本地计算机上打开终端或命令提示符。
- 切换到要存储存储库的目录。
- 使用
git clone
命令后跟存储库 URL 来克隆存储库。例如:
git clone https://github.com/zerodot618/devops-study.git
- 按 Enter 执行命令。
如下执行过程:
代码语言:javascript复制Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes
$ cd devops/
Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops
$ git clone https://github.com/zerodot618/devops-study.git
Cloning into 'devops-study'...
warning: You appear to have cloned an empty repository.
Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops
$ ls
devops-study/
更改,提交和上传
我们现在已经在本地克隆了存储库,现在我们可以对文件进行更改并提交他们已跟踪修改。操作如下:
- 在你喜欢的文本编辑器或 IDE 中打开克隆的存储库。
- 对存储库中文件进行所需更改。
- 保存更改。
- 在克隆存储库的根目录中打开终端或命令提示符。
- 使用
git status
命令查看你所做的更改,它将显示修改后的文件。
PS D:Codesdevopsdevops-study> git status
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.md
nothing added to commit but untracked files present (use "git add" to track)
- 使用
git add
命令后跟文件名来暂存更改以供提交。例如:git add filename.txt
或git add .
暂存所有更改。
PS D:Codesdevopsdevops-study> git add .README.md
PS D:Codesdevopsdevops-study> git status
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README.md
- 使用
git commit
命令提交更改并提供描述修改的有意义的消息。例如:git commit -m "Added new feature"
或git commit -m "Fixed a bug"
PS D:Codesdevopsdevops-study> git commit -m "add readme file"
[main (root-commit) 03dd5a3] add readme file
1 file changed, 1 insertion( )
create mode 100644 README.md
PS D:Codesdevopsdevops-study> git status
On branch main
Your branch is based on 'origin/main', but the upstream is gone.
(use "git branch --unset-upstream" to fixup)
nothing to commit, working tree clean
- 最后,使用
git push
命令将提交的更改推送回 GitHub 上的存储库。例如:git push origin main
或git push origin master
,具体取决于分支名称。
PS D:Codesdevopsdevops-study> git push origin main
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 218 bytes | 218.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/zerodot618/devops-study.git
* [new branch] main -> main
本文,我们学习了 Git 和 GitHub 的基础知识,包括创建新存储库、将其克隆到本地计算机、进行更改、提交并将其推送回 GitHub。这些基础练习对于版本控制和软件协作开发至关重要。
参考资料
[1]
https://git-scm.com/downloads: https://git-scm.com/downloads
[2]
github.com: https://github.com/
[3]
github.com: https://github.com/