-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
doc: Update practice documentation with detailed steps for creating a…
…nd managing repositories
- Loading branch information
Showing
5 changed files
with
155 additions
and
9 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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”完成创建。 | ||
|
||
 | ||
|
||
图 1. 创建仓库 | ||
{: .caption } | ||
|
||
2. **克隆仓库到本地**: | ||
|
||
 | ||
|
||
图 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`(推送到远程仓库),为后续的版本控制与团队协作打下基础。 |