Appearance
Git、SSH 与远程协作
第五讲是所有学习站的“交付工具”:代码、笔记、课程都要靠 Git 管起来,服务器登录和 GitHub 推送都靠 SSH。
先记住一句话:Git 管版本,SSH 管身份;本地提交是存档,远程推送是交付。
一、Git 最小工作流
bash
git init
git status
git add .
git commit -m "feat: 初始化项目"
git log --oneline日常三步:改文件 → git add → git commit。
二、分支与合并
bash
git branch feature/login
git switch feature/login
# 改代码、提交
git switch main
git merge feature/login
git branch -d feature/login分支的意义:把未完成的改动和稳定版本隔离开。小项目也建议每做一个功能开一条分支。
三、远程仓库
bash
git remote add origin git@github.com:用户名/仓库名.git
git push -u origin main
git pull origin main
git clone git@github.com:用户名/仓库名.git如果远程是 HTTPS,推送可能被网络策略干扰;能走 SSH 就优先走 SSH。
四、SSH key 与免密登录
bash
ssh-keygen -t ed25519 -C "你的邮箱"
cat ~/.ssh/id_ed25519.pub把公钥内容粘贴到 GitHub → Settings → SSH and GPG keys。验证:
bash
ssh -T git@github.com登录服务器:
bash
ssh user@server-ip
scp app.tar.gz user@server-ip:/opt/app/五、.gitignore
不要提交:node_modules/、.env、构建产物、密钥、日志。
text
node_modules/
docs/.vitepress/dist/
.env*
*.log
.vercel六、动手实验
💡 动手实验:从零建一个 Git 仓库并模拟一次分支协作。
bash
mkdir -p ~/git-lab && cd ~/git-lab
git init
cat > README.md <<'MD'
# Git Lab
MD
git add README.md
git commit -m "docs: 初始化仓库"
git switch -c feature/hello
cat > hello.txt <<'TXT'
hello git
TXT
git add hello.txt
git commit -m "feat: 添加 hello.txt"
git switch main
git merge feature/hello
git log --oneline --graph --all如果你有 GitHub 账号,再进一步:
bash
# 先在 GitHub 创建空仓库,再执行(把 URL 换成你的)
git remote add origin git@github.com:你的用户名/git-lab.git
git push -u origin main小结
- Git 日常:
status → add → commit → push - 分支隔离功能开发,合并前先切回目标分支
- SSH key 一次配置,长期免密;GitHub 优先用 SSH 远程
.gitignore必须写,密钥和依赖绝不入库
🧠 记忆锚点:本地 commit 是存档,远程 push 是交付;密钥不进库,分支做隔离。
下一讲:把所有命令串成一次综合排查——综合实验。