[特殊字符] Git 协作指南 Git 协作指南保姆级适用人群从没用过 Git 的新手仓库地址 先搞懂几个基础问题❓ Git 指令在哪运行在终端Terminal里运行。打开方式VS Code 里按 Ctrl \ 键盘左上角Esc下面那个键 或 点菜单栏终端 → 新建终端你会看到底部出现一个黑框里面有光标在闪。所有git xxx指令都在这里输入按回车执行。 Windows 系统也可以用自带的命令提示符或 PowerShell但在 VS Code 里最方便。❓ 队友用什么软件修改代码任何软件都可以和 Git 无关。修改代码 → 用VS Code推荐修改文档 → 用VS Code或记事本都行跑训练 → 用 VS Code 的终端或 Anaconda Prompt不管用什么软件改的最后上传都是用那三个 Git 命令。❓ 队友怎么上传修改上传流程每天重复① 打开 VS Code打开 xh202625 文件夹 ② 按 Ctrl \ 打开终端 ③ 在终端里依次执行 git add . ← 标记这些文件我要上传 git commit -m 改了啥 ← 本地存档 git push ← 发到 GitHub不需要在 GitHub 网页上操作全部在 VS Code 终端里完成。❓ 不会打命令怎么办几个要点命令打错了会有提示重新打就行不会搞坏电脑每一行打完后按回车Enter执行按 ↑ 方向键可以调出上一条命令不用重新打字刚开始不熟很正常多打几次就记住了 目录第一篇队长篇——怎么邀请队友第二篇队员篇——怎么加入协作第三篇日常操作——每天怎么工作第四篇遇到问题怎么办附录什么是 Git通俗版第一篇队长篇——怎么邀请队友以下操作由队长完成。第1步让队友注册 GitHub把这句话发群里“大家去 https://github.com 注册一个账号注册好后把用户名发我。”第2步队长登录 GitHub邀请队友打开浏览器进入 https://github.com登录你的账号进入仓库点击顶部菜单栏的Settings设置左侧找到Collaborators协作者点击Add people添加人员在搜索框输入队友的 GitHub 用户名点击Add 用户名 to this repository完成 ✅每个队友都需要这样操作一次。第3步队友接受邀请队友注册好 GitHub 后会收到一封邮件通知。或者在 https://github.com/notifications 能看到邀请。点击Accept接受即可。第二篇队员篇——怎么加入协作以下操作由每个队员在自己电脑上完成。⚠️ 第一步先安装 Git必须有Git 是必装的没有它什么都干不了。检查有没有装过按下键盘Win R输入cmd回车在黑色窗口里输入git--version结果有两种显示意思怎么办git version 2.xx.x✅ 已安装跳过安装往下看git 不是内部或外部命令❌ 没装往下看安装步骤Windows 安装步骤打开 https://git-scm.com/download/win浏览器会自动下载安装包双击安装一路点下一步全部默认选项不用改任何设置安装完成后关掉黑色窗口重新打开输入git --version确认显示版本号全程大概 2 分钟装好后以后就不用再管了。第1步把代码下载到你的电脑只做一次执行完后你会看到Cloning into xh202625... remote: Enumerating objects: ... Receiving objects: 100% (.../...), done.然后进入项目文件夹cdxh202625验证输入dirWindows或lsMac/Linux应该能看到README.md、课程- 数据集/等文件和文件夹。✅ 这一步就完成了以后不需要再执行git clone。第2步设置你的名字和邮箱只做一次这样每次提交代码时大家知道是谁改的。gitconfig user.name你的名字gitconfig user.email你的邮箱第三篇日常操作——每天怎么工作 工作的完整流程每天重复这个循环① git pull ← 开始拿最新的代码 ② 修改代码/文件 ← 工作你的任务 ③ git add . ← 标记告诉 Git这些我要上传 ④ git commit -m 说明 ← 存档打个包写上标签 ⑤ git push ← 上传发到 GitHub第①步拿最新的代码每天开始工作前先执行gitpull为什么队友可能上传了新代码先拿到最新的避免冲突。你会看到Updating 315572e..55d5efb Fast-forward ... | 98 1 file changed, 98 insertions()或者如果没人改动过Already up to date.第②步修改代码正常用 VS Code 改你的代码改完保存就行。这一步不需要任何 Git 操作。第③步告诉 Git 你要上传什么gitadd.这行的意思.表示当前文件夹下所有改动。你新建了文件、修改了文件Git 都会自动识别。⚠️ 如果只想上传某个文件可以用git add 文件名但一般都用git add .更方便。第④步本地存档gitcommit-m写清楚你这次改了什么例子✅git commit -m 修复了训练脚本的batch参数→ 好✅git commit -m 添加了Focal Loss对比实验结果→ 好❌git commit -m 改了点东西→ 不好看不出来改了啥第⑤步上传到 GitHubgitpush你会看到Enumerating objects: ... Writing objects: 100% (.../...), done. 315572e..55d5efb main - main✅ 这就上传成功了。去 https://github.com 刷新就能看到你的改动。 关于git push连不上的问题国内有时连 GitHub 会断。如果git push报错Failed to connect to github.com改用镜像地址# 先用镜像推送gitremote set-url origin https://gh-proxy.com/https://github.com.gitgitpush# 推送成功后马上改回原地址重要gitremote set-url origin https://github.com/5.git每次 push 连不上时重复上面三步即可。第四篇遇到问题怎么办❓git push要我输用户名密码原因第一次推送需要认证。解决输入你的 GitHub 用户名和密码。或者用更方便的方式# 推荐用 GitHub CLI 登录一次以后就不用输密码了# 首先确保已经安装了 GitHub CLI然后执行gh auth login❓ 提示 “冲突”conflict原因你和队友同时改了同一个文件的同一行。解决在群里喊队长。队长打开那个文件会看到 HEAD 你的改动 队友的改动 队友的版本队长手动选择保留哪个版本删掉、、这些标记保存然后git add .→git commit -m 解决冲突→git push。❓ 不小心把不该上传的文件传上去了# 从 Git 中移除但不删除本地文件gitrm--cached文件名# 然后把文件名加到 .gitignore 里防止以后又被误传echo文件名.gitignore# 重新提交gitadd.gitignoregitcommit-m移除不需要的文件gitpush❓ 怎么查看当前改了什么gitstatus会显示Changes not staged for commit: modified: README.md Untracked files: 我的实验记录.txt红色 改过的绿色 新加的。❓ 改到一半想放弃# 放弃某个文件的修改gitcheckout -- 文件名# 或者放弃所有修改谨慎gitreset--hardHEAD附录什么是 Git通俗版没有 Git 的时候论文_初稿.docx 论文_修改1.docx 论文_最终版.docx 论文_最终版_真的不改了.docx 论文_最终版_再也不改了.docx ← 崩溃有了 Git每次改完执行 git commitGit 会自动记住这次改了啥。 随时可以回到任何一个历史版本。 队友之间也不用互相传文件了。Git ≠ GitHubGit 一个工具软件你电脑上装的GitHub 一个网站存放代码的地方两者配合使用你用 Git 把代码传到 GitHub队友用 Git 从 GitHub 下载