8 Git和Github深入

2023-12-02 14:29:12 浏览数 (3)

本文我们将继续深入学习 Git 和 Github,了解 Git 中 main 分支和 master 分支的区别,并阐明 Git 和 Github 的区别。

Git 及其重要性

Git 是一个分布式版本控制系统,旨在跟踪软件开发过程中源代码的更改。它提供了一种强大而有效的方法来管理代码库、跟踪修改并促进团队成员之间的协作。使用 Git,可以轻松地处理不同的分支、合并更改并恢复到以前的版本,从而确保简化且有组织的开发过程。Git 的重要性在于它能够以高效且可扩展的方式提高代码质量、实现协作并促进项目管理。

main 和 master 分支的区别

一直以来,Git 仓库的默认分支名称都是 "master"。不过,由于 "master "一词与奴隶制有关联,因而有负面含义,许多项目和组织已转而使用 "main "或 "primary "等替代分支名称,作为一种更具包容性、更受尊重的术语。因此,main 分支和 master 分支之间的区别本质上是一个命名习惯问题,main 分支被认为是一个更具包容性的首选术语。

Git 和 Github 的区别

Git 和 GitHub 经常被互换使用,但它们在软件开发过程中的作用却各不相同。Git 是一种分布式版本控制系统,允许开发人员管理和跟踪源代码的变更。它在每个开发人员的机器上提供了一个本地仓库,使他们能够离线工作、提交修改,并为不同的功能或实验提供分支。

另一方面,GitHub 是一种基于网络的 Git 仓库托管服务。它为协作、代码共享和项目管理提供了一个集中式平台。GitHub 允许多个开发人员在同一个代码库上工作,通过拉取请求进行协作,管理问题并托管文档。它还提供项目面板、持续集成和部署工作流等附加功能,使其成为 DevOps 团队的强大工具。

在 GitHub 上创建存储库

要在 GitHub 上创建新存储库,请按照以下步骤操作:

  1. 访问 GitHub 网站 (https://github.com/) 并登录您的账户(如果没有账户,则创建一个新账户)。
  2. 单击页面右上角的“ ”按钮,然后从下拉菜单中选择新建存储库(New repository)。
  3. 填写存储库的项目名称,选择它是公共的还是私有的,并添加可选的描述。
  4. 选择需要的任何其他选项,例如使用 README 文件初始化存储库、添加 .gitignore文件或选择许可证。
  5. 单击创建存储库(Create repository)按钮来创建新存储库。

本地和远程存储库的区别?如何连接本地到远程

本地存储库是指存储在本地计算机上的存储库,通常使用 Git 创建。它包含与项目相关的所有必要文件、提交、分支和版本历史记录。本地存储库允许我们在本地处理代码、进行更改、创建新分支以及提交更改,而无需连接互联网。

远程存储库(例如 Github,Gitee)充当中央服务器,我们可以在其上存储代码并与其他人共享代码。它充当协作中心,使多个开发人员能够访问、贡献和同步他们在项目上的工作。远程存储库允许团队协作、版本控制以及在不同机器之间轻松共享代码。

要将本地存储库连接到 Github 上的远程存储库,可以按照以下步骤操作:

  1. 使用前面提到的步骤在 GitHub 上创建一个新存储库。
  2. 在本地计算机上,在需要推送存储库的根目录下打开命令行或 Git 客户端。
  3. 使用命令将远程存储库 URL 添加到本地存储库:
代码语言:javascript复制
git remote add origin <remote_repository_url>

<remote_repository_url>替换为你在 Github 上新建的存储库 URL。

  1. 使用以下命令验证本地和远程存储库之间的连接:
代码语言:javascript复制
Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops/devops-study (main)$ git remote -v
origin  https://github.com/zerodot618/devops-study.git (fetch)
origin  https://github.com/zerodot618/devops-study.git (push)

这将显示与本地存储库管理的远程存储库 URL。

  1. 现在我们就可以使用以下命令将本地提交推送到远程存储库:
代码语言:javascript复制
git push origin <branch_name>

<branch_name> 替换为我们要推送的分支的名称。

设置用户名和邮箱

使用 Git 之前,设置用户名和邮箱是非常重要,它将与我们的提交相关联。设置用户名和邮箱,可按如下操作:

代码语言:javascript复制
git config --global user.name "your name"
git config --global user.email "youname@xxx.com"

请将 your name替换为自己要设置的用户名,youname@xxx.com邮箱设置为你自己的邮箱地址。

设置完,检查 Git 配置是否正确设置,请使用以下命令:

代码语言:javascript复制
git config --list

练习

1 在 Github 上创建名为“devops-study”的存储库

  1. 访问 GitHub 网站并登录你的帐户。
  2. 按照前面提到的步骤在 GitHub 上创建一个名为“devops-study”的新存储库。

image.png

2 将本地存储库连接到上面新建的存储库

  1. 在本地计算机上,切换到要在其中创建本地存储库的目录。
  2. 在存储库根目录下打开终端或命令提示符,键入以下代码,初始化存储库:
代码语言:javascript复制
git init
  1. 使用以下命令将远程存储库 URL 添加到本地存储库:
代码语言:javascript复制
git remote add origin <remote_repository_url>

<remote_repository_url>替换为你自己的存储库 URL。

  1. 使用以下命令验证本地和远程存储库之间的连接:
代码语言:javascript复制
git remote -v

这应该显示与本地存储库关联的远程存储库 URL。以下是我的操作过程:

代码语言:javascript复制
Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops/devops-study
$ git init
Initialized empty Git repository in D:/Codes/devops/devops-study/.git/

Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops/devops-study (master)
$ git remote add origin https://github.com/zerodot618/devops-study.git

Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops/devops-study (master)
$ git remote -v
origin  https://github.com/zerodot618/devops-study.git (fetch)
origin  https://github.com/zerodot618/devops-study.git (push)

3 本地存储库添加内容

  1. 在本地存储库的“devops-study”目录中创建一个名为“devops.txt”的新文件。
  2. 在文件中添加一些内容,例如:
代码语言:javascript复制
This is a desops's content...
  1. 保存文件。

以下是我的操作过程:

代码语言:javascript复制
Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops/devops-study (master)
$ touch devops.txt

Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops/devops-study (master)
$ vim devops.txt

Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops/devops-study (master)
$ ls
devops.txt

4 本地提交到远程存储库

  1. 使用以下命令提交更改:
代码语言:javascript复制
git add .
git commit -m "add new file"
  1. 使用以下命令将本地提交推送到 Github 上的 devops-study 存储库:
代码语言:javascript复制
git push origin main

通过以上练习,我们在 Github 上创建了一个存储库,并将本地存储库连接到远程存储库,创建文件,并将更改推送到远程存储库。

以下是我的操作过程:

代码语言:javascript复制
Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops/devops-study (master)
$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        devops.txt

nothing added to commit but untracked files present (use "git add" to track)

Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops/devops-study (master)
$ git add .
warning: in the working copy of 'devops.txt', LF will be replaced by CRLF the next time Git touches it

Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops/devops-study (master)
$ git commit -m "add new file"
[master 1c97339] add new file
 1 file changed, 1 insertion( )
 create mode 100644 devops.txt

Administrator@ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops/devops-study (main)
$ git push origin main
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 6 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 300 bytes | 300.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/zerodot618/devops-study.git
   03dd5a3..1c97339  main -> main

0 人点赞