改进了 git 基础操作文档
This commit is contained in:
42
notes/git.md
42
notes/git.md
@@ -3,22 +3,25 @@
|
|||||||
我们选择 Git 作为版本管理的工具(确保已经安装 Git 和 VS Code,详见[starter](starter.md)),工作流程主要是以下 4 点:
|
我们选择 Git 作为版本管理的工具(确保已经安装 Git 和 VS Code,详见[starter](starter.md)),工作流程主要是以下 4 点:
|
||||||
|
|
||||||
- 大家在自己的「个人分支」工作,互不干扰
|
- 大家在自己的「个人分支」工作,互不干扰
|
||||||
- 通过「提交」,有选择性地确认改动到「个人分支」(个人审核 AI)
|
- 通过「提交」,有选择性地,确认改动到「个人分支」(个人审核 AI)
|
||||||
- 不时地,接收其他人在「主分支」的改动
|
- 不时地,接收其他人在「主分支」的改动
|
||||||
- 通过「合并请求」,有监督地把确认改动到「主分支」(团队审核个人)
|
- 通过「合并请求」,有监督地,确认改动到「主分支」(团队审核个人)
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
flowchart LR
|
flowchart LR
|
||||||
文件改动 -- 提交 --> 个人分支 -- 合并请求 --> 主分支
|
文件改动 -- 提交 --> 个人分支 -- 合并请求 --> 主分支
|
||||||
```
|
```
|
||||||
|
|
||||||
本地改动,有选择性地、有监督地被同步到项目。有效避免同步盘方案下,高频改动文件的冲突和 AI 无法参与的尴尬。这样,即能放心大胆在本地创作,又规范谨慎地管理项目,还解决了私有盘无法分享的问题。
|
|
||||||
|
|
||||||
接下来,我将详细描述操作步骤,建议跟着来一遍
|
通过上述流程,个人的本地改动被,有选择性地、有监督地被同步到项目主分支。
|
||||||
|
|
||||||
|
有效避免同步盘方案下,高频改动文件的冲突和 AI 无法参与的尴尬。这样,即释放了本地创作的限制,又规范了线上协作的管理,还解决了私有盘无法分享的问题。
|
||||||
|
|
||||||
|
接下来,我将详细描述操作步骤。
|
||||||
|
|
||||||
## 在自己的「个人分支」工作
|
## 在自己的「个人分支」工作
|
||||||
|
|
||||||
**1. 下载仓库**
|
**1. 下载仓库(Repository)**
|
||||||
|
|
||||||
浏览器打开仓库地址 <https://git.omoolab.xyz/[orgn-name]/[repo-name]>,点右上的 Code 按钮,点击 Open with VS Code
|
浏览器打开仓库地址 <https://git.omoolab.xyz/[orgn-name]/[repo-name]>,点右上的 Code 按钮,点击 Open with VS Code
|
||||||
|
|
||||||
@@ -27,7 +30,7 @@ flowchart LR
|
|||||||
> 或 Bash 执行 `git clone [repo.git]`
|
> 或 Bash 执行 `git clone [repo.git]`
|
||||||
|
|
||||||
|
|
||||||
**2. 创建自己的「个人分支」**
|
**2. 创建自己的个人分支**
|
||||||
|
|
||||||
点左下角的`main`,点击`Create new branch...`,然后输入分支名`[your-name]/[do-something]`(比如`manan/dev`)
|
点左下角的`main`,点击`Create new branch...`,然后输入分支名`[your-name]/[do-something]`(比如`manan/dev`)
|
||||||
|
|
||||||
@@ -44,47 +47,48 @@ flowchart LR
|
|||||||
|
|
||||||
## 通过「提交」来确认改动到「个人分支」
|
## 通过「提交」来确认改动到「个人分支」
|
||||||
|
|
||||||
**1. 添加改动到暂存改动(Staged Changes)**
|
|
||||||
|
|
||||||
仓库的任何改动都会罗列在 Changes 下,此时它们都是暂时的。点击 + 来添加到 Staged Changes 下(你可以只添加部分改动)
|
**1. 有选择性地添加(Add)到暂存改动**
|
||||||
|
|
||||||
|
仓库的任何改动都会罗列在 Changes 下,此时它们并没有得到确认。点击 + 来添加到 Staged Changes 下(你可以只添加部分改动)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
> 或 Bash 执行 `git add [file]`
|
> 或 Bash 执行 `git add [file]`
|
||||||
|
|
||||||
**2. 「提交」暂存改动**
|
**2. 提交(Commit)暂存改动**
|
||||||
|
|
||||||
手动输入 Commit Message 来说明改动了什么,或者点击小星按钮让 AI 来帮忙总结。最后点击 Commit 按钮,完成「提交」。至此改动才被确认,记录到了 Git History 中。
|
输入「提交说明」来记录改动了什么(或者点击小星按钮让 AI 来帮忙总结)。点击 Commit 按钮来确认改动。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
> 或 Bash 执行 `git commit -m [message]`
|
> 或 Bash 执行 `git commit -m [message]`
|
||||||
|
|
||||||
最后,你需要「推送」到远程仓库来完成和远程的同步,点击 Push。至此远程仓库也同步为了最新的版本。
|
**3. 推送(Push)到远程的「个人分支」**
|
||||||
|
|
||||||
**3. 同步到远程的「个人分支」**
|
点击三个点按钮打开菜单,点击 Push 按钮
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
> 或 Bash 执行 `git push`
|
> 或 Bash 执行 `git push`
|
||||||
|
|
||||||
这是工作中最常见的循环,一边制作,一边 commit + push
|
这是工作中最常见的循环:一边工作,一边适时地 add > commit > push
|
||||||
|
|
||||||
## 接收其他人在「主分支」的改动
|
## 接收其他人在「主分支」的改动
|
||||||
|
|
||||||
当你在自己的分支工作的时候,其他人也在不断更新「主分支」`main`。有时需要对齐一下,同步并合并来自`main`的改动到你自己的分支。
|
当你在自己分支工作的时候,其他人也在不断更新「主分支」`main`。有时需要对齐一下,拉取(Pull)并合并(Merge)来自`main`的改动到你自己的分支。
|
||||||
|
|
||||||
点击 Pull from...,并选择`origin/main`(注意不是`main`分支,它是本地的,并非最新)
|
点击三个点按钮打开菜单,点击 Pull from...,并选择`origin/main`(注意不是`main`分支,它是本地的,并非最新)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
> 或 Bash 执行 `git pull origin main`
|
> 或 Bash 执行 `git pull origin main`
|
||||||
|
|
||||||
如果冲突,会进入`([branch-name]|MERGING)` 状态,具体查看 [解决冲突](#解决冲突)
|
如果冲突,会进入`([branch-name]|MERGING)` 状态,详见 [解决冲突](#解决合并冲突)
|
||||||
|
|
||||||
## 通过「合并请求」来确认改动到「主分支」
|
## 通过「合并请求」来确认改动到「主分支」
|
||||||
|
|
||||||
「主分支」`main`通过这样方式来接收大家的更新,这一步叫「合并请求」(Pull Request,简称 PR)。
|
合并请求(Pull Request,简称 PR)就是申请「个人分支」改动并入「主分支」
|
||||||
|
|
||||||
浏览器访问仓库主页,切换到「个人分支」,点击 New Pull Request 按钮(3)
|
浏览器访问仓库主页,切换到「个人分支」,点击 New Pull Request 按钮(3)
|
||||||
|
|
||||||
@@ -94,7 +98,7 @@ flowchart LR
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
PR 会加入队列,等待审核通过。通过后就会合并到`main`
|
PR 会加入队列,等待审核通过。通过后就会合并到`main`啦。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -102,7 +106,7 @@ PR 会加入队列,等待审核通过。通过后就会合并到`main`
|
|||||||
|
|
||||||
> 注意,在提 PR 前,一定要在本地执行[同步「主分支」的改动](#同步「主分支」的改动)(并 push 到了远程)
|
> 注意,在提 PR 前,一定要在本地执行[同步「主分支」的改动](#同步「主分支」的改动)(并 push 到了远程)
|
||||||
|
|
||||||
## 解决冲突
|
## 解决合并冲突
|
||||||
|
|
||||||
解决完冲突后,继续
|
解决完冲突后,继续
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user