Skip to content

Commit

Permalink
doc: Update practice documentation with detailed steps for creating a…
Browse files Browse the repository at this point in the history
…nd managing repositories
  • Loading branch information
ywh555hhh authored and Plucky923 committed Feb 10, 2025
1 parent a1929a1 commit 8169abe
Show file tree
Hide file tree
Showing 5 changed files with 155 additions and 9 deletions.
Binary file added docs/assets/createrepo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/gitClone.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file removed docs/ch5/sec1/git-guidance.md
Empty file.
11 changes: 2 additions & 9 deletions docs/ch5/sec1/subsec3/practice.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,8 @@
# 实践:注册并熟悉代码托管平台 (易炜涵)

## 目的
> 学生注册代码托管平台账户并熟悉其功能。注册 GitHub、Gitee 等平台的账号。了解平台的主要功能界面,并做出一些常识。
学生注册代码托管平台账户并熟悉其功能。

## 内容

- 注册 GitHub、Gitee 等平台的账号。
- 了解平台的主要功能界面,并做出一些常识。

## 步骤
## 具体步骤

### 1. 注册账号

Expand Down
153 changes: 153 additions & 0 deletions docs/ch5/sec1/subsec4/create-repo.md
Original file line number Diff line number Diff line change
@@ -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`(推送到远程仓库),为后续的版本控制与团队协作打下基础。

0 comments on commit 8169abe

Please sign in to comment.