【Git:多人协作】Git多人协作实战:从同分支到多分支工作流

【Git:多人协作】Git多人协作实战:从同分支到多分支工作流

🔥艾莉丝努力练剑:个人主页

专栏传送门:《C语言》《数据结构与算法》C/C++干货分享&学习过程记录Linux操作系统编程详解笔试/面试常见算法:从基础到进阶测试开发要点全知道

⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平


🎬艾莉丝的简介:


目录

艾莉丝的Gitee地址

1  ~>  多人协作

2  ~>  多人协作一:在同一分支下进行多人协作

2.1  完成准备工作

2.2  协作开发

2.2.1  我们的操作

2.2.2  小伙伴的操作

2.2.3  协作开发

2.3  将内容合并到master

2.4  总结:在同一分支下进行多人协作的工作模式通常的流程

3  ~>  多人协作二:在不同分支下进行多人协作(通常情况)

3.1  前情提示

3.2  最佳实践

3.2.1  我的操作

3.2.2  小伙伴的操作

3.2.3  在不同分支下进行多人协作

3.2.4  一个人开发两个分支

3.3  将内容合并到master

4  ~>  远程分支删除后,本地git branch-a依然能看到的解决办法

4.1  解决办法

4.2  最佳实践

Git:多人协作部分博主手记

多人协作一(在同一分支下进行多人协作)

多人协作二(在不同分支下进行多人协作)

远程分支删除后,本地git branch-a依然能看到的解决办法

结尾


艾莉丝的Gitee地址

艾莉丝努力练剑的gitee


1  ~>  多人协作

那么,是时候干最重要的一件事情了——没错!实现多人协作开发!为了做这件事情,我们需要先做一些准备工作。我们之前已经将项目clone到了指定目录,如:

hyb@139-159-150-152:~/git_teaching$ pwd /home/hyb/git_teaching

2  ~>  多人协作一:在同一分支下进行多人协作

2.1  完成准备工作

在Windows环境下,再clone同一个项目仓库,来模拟和你一起协作开发的另一名小伙伴乙:

(Windows环境下)找一个目录(文件夹),鼠标右击打开PowerShell窗口——

这里git clone一下HTTPS协议一下即可。

git clone成功了——

注意,指令是模拟了两个用户,实际在开发中,每个用户都有自己的gitee / github账号,如果要多人进行协同开发,必须要将用户添加进开发者,用户才有权限进行代码提交:

邀请用户:

到这里,相当于有了两个用户——分别在linux和windows两个操作系统上针对于同一个项目进行协作开发——至此,我们的准备工作结束。

2.2  协作开发

目前,我们的仓库中只有一个master主分支,但在实际的项目开发中,在任何情况下其实都是不允许直接在master分支上修改代码的,这是为了保证主分支的稳定。所以在开发新功能时,经常会新建其他分支,供开发时进行迭代使用。

接下来,就让我们在gitee上新建dev远程分支供我们使用:

这样就创建成功了:

创建成功的远程分支是可以通过Git拉取到本地来,以实现完成本地开发工作。

接下来,让我们和另一名开发的小伙伴都将远程仓库进行一次拉取操作(git pull)。

观察结果——

2.2.1  我们的操作

hyb@139-159-150-152:~/git_teaching$ git pull From gitee.com:hyb91/git_teaching * [new branch] dev -> origin/dev Already up to date. # 注:之前讲的 git branch 其实只能查看本地分⽀,要查看远程分⽀需要加上-r选项。 # 但前提是要pull⼀下拉取最新的远端仓库,才能看到最新的内容。 hyb@139-159-150-152:~/git_teaching$ git branch -r origin/HEAD -> origin/master origin/dev origin/master hyb@139-159-150-152:~/git_teaching$ git checkout -b dev origin/dev Branch 'dev' set up to track remote branch 'dev' from 'origin'. Switched to a new branch 'dev'

拉取后便可以看到远程的dev分支,接着切换到dev分支供我们进行本地开发。要说明的是:切换到的是本地的dev分支,根据上述示例中的操作,会将本地分支和远程分支的进行关系链接。

2.2.2  小伙伴的操作

2.2.3  协作开发

现在,你和你的小伙伴就可以在dev上完成开发。

首先,让我们在dev分支上进行一次开发,并push到远程。例如:

hyb@139-159-150-152:~/git_teaching$ vim file.txt hyb@139-159-150-152:~/git_teaching$ cat file.txt hello git complete the first function! hyb@139-159-150-152:~/git_teaching$ git add file.txt hyb@139-159-150-152:~/git_teaching$ git commit -m "first function" [dev 305f78a] first function 1 file changed, 1 deletion(-) hyb@139-159-150-152:~/git_teaching$ git push origin dev # 将dev分⽀推送到远端 Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 287 bytes | 287.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: Powered by GITEE.COM [GNK-6.4] To gitee.com:hyb91/git_teaching.git cc3be59..305f78a dev -> dev

我们看看码云上目前仓库的状态:

至此,我们已经将代码成功推送至码云,假如你的小伙伴要和你协同开发,碰巧也要对file.txt文件作修改,并试图推送,例如:

这时结果是推送失败的——因为你的小伙伴的最新提交和你推送的提交有冲突。

解决办法也很简单——Git已经提示我们:先git pull把最新的提交从origin / dev抓下来,再在本地进行合并,并解决冲突,再推送。操作如下:

解决冲突,我们重新推送:

此时,我们在远端的码云的仓库已经能看到我们的新提交了——

由此,两名开发者已经开始可以进行协同开发了,不断的git pull / add / commit / push,如果遇到了冲突,就使用我们之前介绍过的冲突处理办法把冲突解决掉。

对于你来说:要想看到小伙伴的代码,只需要git pull一下即可,例如:

hyb@139-159-150-152:~/git_teaching$ cat file.txt hello git complete the first function! hyb@139-159-150-152:~/git_teaching$ git pull Updating 305f78a..72c5345 Fast-forward file.txt | 1 + 1 file changed, 1 insertion(+) hyb@139-159-150-152:~/git_teaching$ cat file.txt hello git complete the first function! complete the second function!

2.3  将内容合并到master

最后不要忘记——虽然我们是在分支上进行多人协作开发,但最终的目的是要将开发后的代码合并到master上去,让我们的项目运行最新的代码。接下来我们就需要做这件事情了:

# 切换⾄ master分⽀, pull ⼀下,保证本地的master是最新内容。 # 合并前这么做是⼀个好习惯 hyb@139-159-150-152:~/git_teaching$ git checkout master Switched to branch 'master' Your branch is up to date with 'origin/master'. hyb@139-159-150-152:~/git_teaching$ git pull Already up to date. # 切换⾄ dev 分⽀, 合并 master 分⽀ # 这么做是因为如果有冲突,可以在dev分⽀上进⾏处理,⽽不是在在master上解决冲突。 # 这么做是⼀个好习惯 hyb@139-159-150-152:~/git_teaching$ git checkout dev Switched to branch 'dev' Your branch is up to date with 'origin/dev'. hyb@139-159-150-152:~/git_teaching$ git merge master Already up to date. # 切换⾄ master 分⽀,合并 dev 分⽀ hyb@139-159-150-152:~/git_teaching$ git checkout master Switched to branch 'master' Your branch is up to date with 'origin/master'. hyb@139-159-150-152:~/git_teaching$ git merge dev Updating 7388a31..72c5345 Fast-forward file.txt | 2 ++ 1 file changed, 2 insertions(+) hyb@139-159-150-152:~/git_teaching$ cat file.txt hello git complete the first function! complete the second function! # 将 master 分⽀推送⾄远端 hyb@139-159-150-152:~/git_teaching$ git status On branch master Your branch is ahead of 'origin/master' by 4 commits. (use "git push" to publish your local commits) nothing to commit, working tree clean hyb@139-159-150-152:~/git_teaching$ git push origin master Total 0 (delta 0), reused 0 (delta 0) remote: Powered by GITEE.COM [GNK-6.4] To gitee.com:hyb91/git_teaching.git 7388a31..72c5345 master -> master hyb@139-159-150-152:~/git_teaching$ git status On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean

此时,我们再观察远端窗口,已经是最新的代码了——

此时,dev分支对于我们来说就没用了,那么dev分支就可以被删除掉。

我们可以直接在远程仓库中将dev分支删除掉:

2.4  总结:在同一分支下进行多人协作的工作模式通常的流程

总结一下,在同一分支下进行多人协作的工作模式通常是这样——

首先,可以试图用git push origin branch-name推送自己的修改;

如果推送失败,则因为远程分支比你的本地更新,需要先用gitpull试图合并;

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git pushoriginbranch-name推送就能成功!

功能开发完毕,将分支merge进master,最后删除分支。

3  ~>  多人协作二:在不同分支下进行多人协作(通常情况)

3.1  前情提示

一般情况下,如果有多需求需要多人同时进行开发,是不会在一个分支上进行多人开发,而是一个需求或一个功能点就要创建一个feature分支。

现在同时有两个需求需要你和你的小伙伴进行开发,那么你们俩便可以各自创建一个分支来完成各自的工作。在【多人协作一】办法我们已经了解了:可以从码云上直接创建远程分支。其实,在本地创建的分支也可以通过推送的方式发送到远端。

现在我们就来用一下这种方式。

3.2  最佳实践

3.2.1  我的操作

对于你来说,可以进行以下操作:

# 新增本地分⽀ feature-1 并切换 hyb@139-159-150-152:~/git_teaching$ git branch dev * master hyb@139-159-150-152:~/git_teaching$ git checkout -b feature-1 Switched to a new branch 'feature-1' # 新增需求内容-创建function1⽂件 hyb@139-159-150-152:~/git_teaching$ vim function1 hyb@139-159-150-152:~/git_teaching$ cat function1 Done! # 将 feature-1 分⽀推送到远端 hyb@139-159-150-152:~/git_teaching$ git add function1 hyb@139-159-150-152:~/git_teaching$ git commit -m"add function1" [feature-1 12ed0db] add function1 1 file changed, 1 insertion(+) create mode 100644 function1 hyb@139-159-150-152:~/git_teaching$ git push origin feature-1 Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 270 bytes | 270.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: Powered by GITEE.COM [GNK-6.4] remote: Create a pull request for 'feature-1' on Gitee by visiting: remote: https://gitee.com/hyb91/git_teaching/pull/new/hyb91:feature1...hyb91:master To gitee.com:hyb91/git_teaching.git * [new branch] feature-1 -> feature-1

3.2.2  小伙伴的操作

对于小伙伴来说,可以进行以下操作:

3.2.3  在不同分支下进行多人协作

此时,在本地,你看不见他新建的文档,他看不见你新建的文档。并且推送各自的分支时,并没有任何冲突,你俩互不影响,用起来很舒服!!

我们再来看下此时远端码云上的状态:

你的feature-1分支:

小伙伴的feature-2分支:

正常情况下,你俩就可以在自己的分支上进行专业的开发了!

3.2.4  一个人开发两个分支

但天有不测风云,你的小伙伴突然生病了,但需求还没开发完,需要你帮他继续开发,于是他便把
feature-2分支名告诉你了——这时你就需要在自己的机器上切换到feature-2分支帮忙继续开发,要做的操作如下:

# 必须先拉取远端仓库内容 hyb@139-159-150-152:~/git_teaching$ git pull ... From gitee.com:hyb91/git_teaching 305f78a..72c5345 dev -> origin/dev * [new branch] feature-2 -> origin/feature-2 ... # 可以看到远程已经有了feature-2 hyb@139-159-150-152:~/git_teaching$ git branch -a dev * feature-1 master remotes/origin/HEAD -> origin/master remotes/origin/dev remotes/origin/feature-1 remotes/origin/feature-2 remotes/origin/master # 切换到feature-2分⽀上,可以和远程的feature-2分⽀关联起来, # 否则将来只使⽤ git push 推送内容会失败 hyb@139-159-150-152:~/git_teaching$ git checkout -b feature-2 origin/feature-2 Branch 'feature-2' set up to track remote branch 'feature-2' from 'origin'. Switched to a new branch 'feature-2' hyb@139-159-150-152:~/git_teaching$ ls a.so b.ini file.txt function2 README.en.md README.md

分支切换成功后便可以看见feature-2分支中的function 2文件了,接着就可以帮小伙伴继续开发:

# 继续开发 hyb@139-159-150-152:~/git_teaching$ vim function2 hyb@139-159-150-152:~/git_teaching$ cat function2 Done! Help done! # 推送内容 hyb@139-159-150-152:~/git_teaching$ git add function2 hyb@139-159-150-152:~/git_teaching$ git commit -m"modify function2" [feature-2 1079ae7] modify function2 1 file changed, 2 insertions(+), 1 deletion(-) hyb@139-159-150-152:~/git_teaching$ git push origin feature-2 Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 262 bytes | 262.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: Powered by GITEE.COM [GNK-6.4] To gitee.com:hyb91/git_teaching.git e1233f1..1079ae7 feature-2 -> feature-2

查看远程状态,推送成功了——

这时,你的小伙伴身体已经调养的差不多了,可以继续进行自己的开发工作,那么他首先要获取到你帮他开发的内容,然后接着你的代码继续开发。或者你已经帮他开发完了,他也需要在自己的电脑上看看你帮他写的代码——

Pull无效的原因:小伙伴没有指定本地feature-2分支与远程origin / feature-2分支的链接

根据PowerShell给出的提示——只要设置一下feature-2和origin / feature-2的链接即可:

目前,小伙伴的本地代码和远端保持严格一致。

你和你的小伙伴可以继续在不同的分支下进行协同开发了。

3.3  将内容合并到master

各自功能开发完毕后,不要忘记我们需要将代码合并到master中才算真正意义上的开发完毕。

由于你的小伙伴率先开发完毕,于是开始merge:

查看一下此时远程仓库的状态——

当小伙伴将其代码merge到master后,此时我也开发完成了,也需要进行merge到master操作——

# 切换⾄ master分⽀, pull ⼀下,保证本地的master是最新内容。 # 合并前这么做是⼀个好习惯 hyb@139-159-150-152:~/git_teaching$ git checkout master Switched to branch 'master' Your branch is up to date with 'origin/master'. hyb@139-159-150-152:~/git_teaching$ git pull From gitee.com:hyb91/git_teaching 72c5345..29006bd master -> origin/master Updating 72c5345..29006bd Fast-forward function2 | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 function2 # 切换⾄ feature-1 分⽀, 合并 master 分⽀ # 这么做是因为如果有冲突,可以在feature-1分⽀上进⾏处理,⽽不是在在master上解决冲突。 # 这么做是⼀个好习惯 hyb@139-159-150-152:~/git_teaching$ git checkout feature-1 Switched to branch 'feature-1' Your branch is up to date with 'origin/feature-1'. hyb@139-159-150-152:~/git_teaching$ git merge master Merge made by the 'recursive' strategy. function2 | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 function2 hyb@139-159-150-152:~/git_teaching$ ls a.so b.ini file.txt function1 function2 README.en.md README.md # 1、由于feature-1分⽀已经merge进来了新内容,为了保证远程分⽀最新,所以最好push⼀下。 # 2、要 push 的另⼀个原因是因为在实际的开发中,master的merge操作⼀般不是由我们⾃⼰在本地 进⾏操作,其他⼈员或某些平台merge时,操作的肯定是远程分⽀,所以就要保证远程分⽀的最新。 # 3、如果 merge 出现冲突,不要忘记需要commit才可以push!! hyb@139-159-150-152:~/git_teaching$ git status On branch feature-1 Your branch is ahead of 'origin/feature-1' by 4 commits. (use "git push" to publish your local commits) nothing to commit, working tree clean hyb@139-159-150-152:~/git_teaching$ git push origin feature-1 Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Compressing objects: 100% (2/2), done. Writing objects: 100% (2/2), 299 bytes | 299.00 KiB/s, done. Total 2 (delta 1), reused 0 (delta 0) remote: Powered by GITEE.COM [GNK-6.4] To gitee.com:hyb91/git_teaching.git ea75a35..4b4c3d4 feature-1 -> feature-1 # 切换⾄ master 分⽀,合并 feature-1 分⽀ hyb@139-159-150-152:~/git_teaching$ git checkout master Switched to branch 'master' Your branch is up to date with 'origin/master'. hyb@139-159-150-152:~/git_teaching$ git merge feature-1 Updating 29006bd..4b4c3d4 Fast-forward function1 | 1 + 1 file changed, 1 insertion(+) create mode 100644 function1 hyb@139-159-150-152:~/git_teaching$ ls a.so b.ini file.txt function1 function2 README.en.md README.md # 将 master 分⽀推送⾄远端 hyb@139-159-150-152:~/git_teaching$ git status On branch master Your branch is ahead of 'origin/master' by 3 commits. (use "git push" to publish your local commits) nothing to commit, working tree clean hyb@139-159-150-152:~/git_teaching$ git push origin master Total 0 (delta 0), reused 0 (delta 0) remote: Powered by GITEE.COM [GNK-6.4] To gitee.com:hyb91/git_teaching.git 29006bd..4b4c3d4 master -> master hyb@139-159-150-152:~/git_teaching$ git status On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean

此时远程仓库的状态:

和前面一样:此时feature-1和feature-2分支对于我们来说就没用了,我们可以直接在远程仓库中将dev分支删除掉——

这就是多人协作的工作模式,一旦熟悉了,就非常简单。


4  ~>  远程分支删除后,本地git branch-a依然能看到的解决办法

4.1  解决办法

当前我们已经删除了远程的几个分支,使用git branch-a命令可以查看所有本地分支和远程分支,但发现很多在远程仓库已经删除的分支在本地依然可以看到。例如:

hyb@139-159-150-152:~/git_teaching$ git pull Already up to date. hyb@139-159-150-152:~/git_teaching$ git branch -a dev feature-1 feature-2 * master remotes/origin/HEAD -> origin/master remotes/origin/dev remotes/origin/feature-1 remotes/origin/feature-2 remotes/origin/master

我们使用命令git remote show origin——可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息。

hyb@139-159-150-152:~/git_teaching$ git remote show origin * remote origin Fetch URL: [email protected]:hyb91/git_teaching.git Push URL: [email protected]:hyb91/git_teaching.git HEAD branch: master Remote branches: master tracked refs/remotes/origin/dev stale (use 'git remote prune' to remove) refs/remotes/origin/feature-1 stale (use 'git remote prune' to remove) refs/remotes/origin/feature-2 stale (use 'git remote prune' to remove) Local branches configured for 'git pull': dev merges with remote dev feature-1 merges with remote feature-1 feature-2 merges with remote feature-2 master merges with remote master Local ref configured for 'git push': master pushes to master (up to date)

此时我们还能看到那些远程仓库已经不存在的分支,根据提示:使用git remote prune origin命令:

hyb@139-159-150-152:~/git_teaching$ git remote prune origin Pruning origin URL: [email protected]:hyb91/git_teaching.git * [pruned] origin/dev * [pruned] origin/feature-1 * [pruned] origin/feature-2 hyb@139-159-150-152:~/git_teaching$ git branch -a dev feature-1 feature-2 * master remotes/origin/HEAD -> origin/master remotes/origin/master

这样就删除了那些远程仓库不存在的分支。

对于本地仓库的删除,之前艾莉丝已经介绍过了,大家可以再看看艾莉丝的博客,自行操作。

4.2  最佳实践


Git:多人协作部分博主手记

多人协作一(在同一分支下进行多人协作)

多人协作二(在不同分支下进行多人协作)

远程分支删除后,本地git branch-a依然能看到的解决办法


结尾

创作过程中难免有所缺漏,如果uu们发现艾莉丝的文章哪里有所疏忽,望不吝赐教!感谢支持!

往期回顾:

【Git:深度解析Git远程操作和标签管理】从克隆到推送:Git 远程操作与标签管理完全指南

结语:都看到这里啦!那请大佬不要忘记给博主来个“一键四连”哦! 

🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡

૮₍ ˶ ˊ ᴥ ˋ˶₎ა


Read more

Git的安装

Git的安装

一、下载 下载安装包直接点击进入Git官网 Git有支持多种操作系统,接下来的操作以Windows为例 点击Windows,如果觉得在官网下载的速度慢可以使用迅雷 在开头蓝色字体右键复制链接 打开迅雷会自动弹出下载窗口,点击下载,速度会快很多 二、安装 点击运行安装程序 点击Next,在这里选择Git的安装路径,路径不能包含中文 后续的话大多数情况下按默认配置一直点下一步直至完成安装即可,如果你想了解更多可以接着往下看 在这里可以选择安装的组件 1. Additional icons(额外图标) On the Desktop:勾选后会在桌面生成 Git 相关快捷图标(比如 Git Bash、Git GUI)。 (默认未勾选,按需选择即可,不影响核心功能) 2. Windows Explorer integration(Windows 资源管理器集成) 这是非常实用的功能,勾选后在文件夹右键菜单中会出现 Git 相关选项: Open Git

By Ne0inhk
蓝耘智算 + 通义万相 2.1:为 AIGC 装上 “智能翅膀”,翱翔创作新天空

蓝耘智算 + 通义万相 2.1:为 AIGC 装上 “智能翅膀”,翱翔创作新天空

1. 引言:AIGC 的崛起与挑战 在过去几年中,人工智能生成内容(AIGC)技术突飞猛进。AIGC 涉及了文本生成、图像创作、音乐创作、视频制作等多个领域,并逐渐渗透到日常生活的方方面面。传统的内容创作方式已经被许多人类创作者所推崇,但随着时间的推移,人工智能的出现使得创作的边界变得更加模糊。 然而,尽管人工智能技术取得了巨大进展,如何高效地将 AI 模型与计算平台结合,以便为 AIGC 提供更加高效、智能的支持,仍然是一个关键问题。蓝耘智算与通义万相 2.1 的结合为解决这一问题提供了新的方向。这种创新的技术融合使得 AIGC 可以不仅仅依赖于数据处理的能力,还可以实现智能化的生成和创作,推动内容创作的未来。 2. 蓝耘智算:为 AIGC 提供智能支持 2.1 蓝耘智算简介 蓝耘智算是一种综合性计算平台,专注于为大规模人工智能应用提供优化计算资源。在过去几年中,蓝耘智算不断发展壮大,已成为许多行业中的顶尖计算平台之一,广泛应用于机器学习、

By Ne0inhk

Digital Signal Processing 投稿指南

文章目录 * 《Digital Signal Processing》作者指南 * 期刊简介 * 宗旨与范围 * 软件发表 * 文章类型 * 同行评审 * 编辑回避原则 * 申诉政策 * 特刊与文章合集评审 * 开放获取 * 伦理与政策 * 出版伦理 * 投稿声明 * 作者资格 * 作者资格变更 * 作者资格变更政策 * 利益冲突声明 * 声明要求 * 资助来源声明 * 资助来源表述规范 * 生成式人工智能使用声明 * 使用规范 * 声明要求 * 例外情况 * 评审与编辑流程中的AI使用限制 * 预印本政策 * 预印本分享 * SSRN预印本发布 * 包容性语言使用 * 性别与基于性别的分析报告 * 性别与社会性别的定义 * 管辖声明 * 地图要

By Ne0inhk
GitHub Copilot 在 VS Code 上的终极中文指南:从安装到高阶玩法

GitHub Copilot 在 VS Code 上的终极中文指南:从安装到高阶玩法

GitHub Copilot 在 VS Code 上的终极中文指南:从安装到高阶玩法 前言 GitHub Copilot 作为 AI 编程助手,正在彻底改变开发者的编码体验。本文将针对中文开发者,深度解析如何在 VS Code 中高效使用 Copilot,涵盖基础设置、中文优化、核心功能详解,并提供多个实战场景配置模板。 一、安装与配置全流程 1. 完整安装步骤 1. 扩展安装 * 打开 VS Code → 点击左侧活动栏的 Extensions 图标(或按 Ctrl+Shift+X) * 搜索框输入 GitHub Copilot → 点击安装按钮 2. 账号授权 * 安装完成后右下角弹出通知 → 点击 Sign in

By Ne0inhk