diff --git a/docs/assets/createrepo.png b/docs/assets/createrepo.png new file mode 100644 index 0000000..3203be8 Binary files /dev/null and b/docs/assets/createrepo.png differ diff --git a/docs/assets/gitClone.png b/docs/assets/gitClone.png new file mode 100644 index 0000000..fd35d09 Binary files /dev/null and b/docs/assets/gitClone.png differ diff --git a/docs/ch5/sec1/git-guidance.md b/docs/ch5/sec1/git-guidance.md deleted file mode 100644 index e69de29..0000000 diff --git a/docs/ch5/sec1/subsec3/practice.md b/docs/ch5/sec1/subsec3/practice.md index ba7fad1..321ec0c 100644 --- a/docs/ch5/sec1/subsec3/practice.md +++ b/docs/ch5/sec1/subsec3/practice.md @@ -1,15 +1,8 @@ # 实践:注册并熟悉代码托管平台 (易炜涵) -## 目的 +> 学生注册代码托管平台账户并熟悉其功能。注册 GitHub、Gitee 等平台的账号。了解平台的主要功能界面,并做出一些常识。 -学生注册代码托管平台账户并熟悉其功能。 - -## 内容 - -- 注册 GitHub、Gitee 等平台的账号。 -- 了解平台的主要功能界面,并做出一些常识。 - -## 步骤 +## 具体步骤 ### 1. 注册账号 diff --git a/docs/ch5/sec1/subsec4/create-repo.md b/docs/ch5/sec1/subsec4/create-repo.md index e69de29..ed8347e 100644 --- a/docs/ch5/sec1/subsec4/create-repo.md +++ b/docs/ch5/sec1/subsec4/create-repo.md @@ -0,0 +1,153 @@ +# 创建并管理仓库 (Repository) (易炜涵) + +> 本实验旨在帮助学生掌握如何创建并管理云端代码仓库,并建立本地与云端仓库的同步连接。我们将通过两种不同的途径实现这一目标:一种是从 GitHub 网站开始操作,另一种是从本地计算机开始操作。 + +???+ tip "远程和本地" + 在开发和协作过程中,**远程**和**本地**是两个非常重要的概念: + + **本地**:指的是你当前使用的计算机环境,包括本地文件、开发工具和配置。例如,你在本地编写的代码、运行的测试、以及使用的 Git 仓库都属于“本地”的范畴。 + **远程**:指的是位于网络服务器上的资源和服务。例如,GitHub、Gitee 等代码托管平台上的仓库,或者云服务器上的应用程序和数据。 + + 理解这两个概念的区别和联系非常重要: + **本地**是你个人工作的起点,所有代码和修改最初都是在本地完成的。 + **远程**是团队协作和共享的基础,通过将本地的更改推送到远程,你可以与他人共享代码、协同开发,并确保代码的安全备份。 + + 在 Git 中,**本地**通常指你的本地仓库,而**远程**指远程仓库(如 GitHub)。你需要通过 `git push` 将本地的更改同步到远程,或通过 `git pull` 将远程的更新拉取到本地。这种“本地-远程”协作模式是现代开发的核心实践之一。 + + 随着学习的深入,你会逐渐意识到“本地”和“远程”的更多应用场景,例如: + + - 本地开发环境 vs 远程部署环境 + + - 本地数据库 vs 远程数据库 + + - 本地测试 vs 远程持续集成(CI) + + 掌握这种思维方式,将帮助你更好地理解开源的工作流程。 + +## 从 GitHub 网站开始 + +1. **创建远程仓库**: + + 登录 GitHub 并点击“New repository”按钮。填写仓库名称、描述并选择公开或私有。点击“Create repository”完成创建。 + + ![Create-repo](../../../assets/createrepo.png) + + 图 1. 创建仓库 + {: .caption } + +2. **克隆仓库到本地**: + + ![gitClone](../../../assets/gitClone.png) + + 图 2. 克隆链接 + {: .caption } + + 复制新仓库的克隆 URL。在终端中使用以下命令将仓库克隆到本地: + + ```bash + Documents/code/opensource + + ❯ git clone https://github.com/ywh555hhh/MyFirstRepo.git #这就是你要输入的命令,你要输入的网址和这个会不一样 + + Cloning into 'MyFirstRepo'... + remote: Enumerating objects: 4, done. + remote: Counting objects: 100% (4/4), done. + remote: Compressing objects: 100% (4/4), done. + remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0) + Receiving objects: 100% (4/4), 4.79 KiB | 4.79 MiB/s, done. + ``` + +3. **进行更改并提交**: + - 在本地仓库中进行一些更改,例如添加新文件或修改现有文件。 + - 使用以下命令提交更改: + + ```bash + git add . + git commit -m "Your commit message" + ``` + +4. **推送更改**: + - 使用以下命令将更改推送到远程仓库: + + ```bash + git push origin main + ``` + +## 从本地开始 + +1. **初始化本地仓库**: + - 打开终端或命令行工具(Windows 用户可以使用 Git Bash,macOS 和 Linux 用户可以使用 Terminal)。 + - 使用 `cd` 命令导航到你希望创建仓库的文件夹: + + ```bash + cd /path/to/your/project-folder + ``` + + - 使用 `git init` 初始化一个新的 Git 仓库,这会创建一个隐藏的 `.git` 文件夹,Git 就能在这个文件夹中管理你的项目版本了: + + ```bash + git init + ``` + + - **意义**:这一步告诉 Git 你要开始在这个文件夹中跟踪文件的更改,形成版本控制。 + +2. **创建初始文件**: + - 在项目文件夹中,创建一些初始文件,例如 `README.md`(用于项目描述)和 `.gitignore`(用于忽略不需要版本控制的文件,如临时文件、日志文件等)。 + - 使用文本编辑器打开这些文件并添加内容。比如在 `README.md` 中写一些项目的基本信息。 + - 使用以下命令将这些文件添加到 Git 的暂存区: + + ```bash + git add . + ``` + + **解释**:`git add .` 会将当前文件夹中的所有更改文件(包括新建的文件)添加到暂存区,准备提交。 + + - 使用 `git commit` 命令提交这些文件,`-m` 后面跟着的是提交说明: + + ```bash + git commit -m "Initial commit" + ``` + + - **意义**:提交记录了你对文件的更改,并为后续的版本控制奠定基础。提交信息 `"Initial commit"` 是用来描述这次提交的内容。 + +3. **连接到远程仓库**: + - 打开 GitHub 或其他 Git 托管服务,创建一个新的空仓库。无需勾选“Initialize this repository with a README”选项,因为我们已经在本地创建了一个 `README.md` 文件。 + - 复制新仓库的远程 URL,通常会是 `https://github.com/yourusername/yourrepository.git`。 + - 在本地仓库中使用以下命令将本地仓库与远程仓库关联: + + ```bash + git remote add origin https://github.com/yourusername/yourrepository.git + ``` + + - **意义**:这一步把本地仓库和远程仓库连接起来,告诉 Git 在远程仓库中保存你的代码。 + +4. **推送更改到远程仓库**: + - 使用 `git push` 命令将本地的提交推送到远程仓库。首次推送时需要加上 `-u` 参数,表示设置远程仓库为默认的推送目标: + + ```bash + git push -u origin main + ``` + + - **意义**:`git push` 是将本地的提交上传到远程仓库,`main` 是你本地分支的名字。如果是第一次推送,它会将本地的 `main` 分支推送到远程仓库。 + +通过这两种途径,你将能够全面理解如何在不同起点上创建和管理 Git 仓库,并掌握本地与云端仓库的同步操作 + +## 私人仓库和公共仓库 + +当前内容主要关注如何创建和管理**私人仓库**,即仅你自己或指定的合作者可以访问的仓库。这种类型的仓库适合用于存放个人项目、学习代码或敏感数据。 + +如果你计划创建和管理**公共仓库**(即所有人都可以访问的仓库),需要注意以下几点: + +1. **许可证选择**:公共仓库通常需要明确项目的开源许可证(如 MIT、GPL 等),以便告知他人如何使用你的代码。 +2. **文档完善**:在公共仓库中,良好的文档是关键,包括 `README.md` 详细描述项目、`CONTRIBUTING.md` 说明贡献流程。 +3. **代码规范**:保持清晰的代码结构和风格,方便其他开发者理解和参与项目。 +4. **安全检查**:确保提交到公共仓库的代码中没有敏感信息(如 API 密钥、配置文件等),以免造成不必要的风险。 + +如果你有兴趣进一步了解公共仓库的管理,可以专门针对这些注意事项进行深入学习! + +## 总结 + +!!! summary "学习目标" + - **创建并管理仓库**:学习如何在 GitHub 等平台上创建远程仓库,并掌握如何在本地进行 Git 仓库初始化、提交、推送等操作。 + - **本地与远程同步**:理解如何将本地仓库与远程仓库连接,使用 `git remote add` 进行远程关联,并通过 `git push` 推送更改到远程仓库,实现本地与远程的同步。 + - **基本 Git 操作**:掌握 Git 的基础操作,如 `git clone`(克隆仓库)、`git add`(添加文件到暂存区)、`git commit`(提交更改)和 `git push`(推送到远程仓库),为后续的版本控制与团队协作打下基础。