Git 使用全指南:从配置到免密登录
- 一、Git 基础配置
- 二、Git 代码提交流程
- 2.1 克隆远程仓库
- 2.2 创建并切换分支
- 2.3 暂存文件
- 2.4 提交到本地仓库
- 2.5 拉取远程最新代码
- 2.6 推送本地分支到远程
- 三、VSCode 服务器免密登录配置
- 3.1 生成 Windows SSH 密钥
- 3.2 复制公钥到服务器
- 3.3 设置文件权限(关键!)
- 3.4 在 VSCode 中验证连接
- 四、常见问题解决方案
- 4.1 SSH 连接失败
- 4.2 分支操作错误
- 4.3 提交历史修改
一、Git 基础配置
# 设置全局用户名和邮箱(用于提交记录)
git config --global user.name "Your Name"
git config --global user.email your.email@example.com
# 生成SSH密钥(用于免密连接Git服务器)
ssh-keygen -t rsa -C "your.email@example.com"
# 按提示连续回车即可,无需设置密码
# 查看并复制公钥
cat ~/.ssh/id_rsa.pub
将生成的公钥添加到 GitLab/GitHub:
头像 → Settings → SSH Keys → 粘贴公钥 → Add Key
二、Git 代码提交流程
2.1 克隆远程仓库
git clone git@github.com:username/repo.git # SSH方式(推荐)
# 或使用HTTPS方式
git clone https://github.com/username/repo.git
2.2 创建并切换分支
# 创建新分支并切换到该分支
git checkout -b new-feature
# 等价于以下两条命令
git branch new-feature # 创建分支
git checkout new-feature # 切换分支
2.3 暂存文件
git add filename # 添加单个文件
git add . # 添加所有修改的文件(不推荐,容易提交无关文件)
git add -p # 交互式添加(推荐,精确控制暂存内容)
2.4 提交到本地仓库
# 标准提交格式(推荐)
git commit -m "feat: 实现用户登录功能"
# 完整提交规范(可选)
git commit -m "type(#issue): 描述"
以下为提交类型说明的表格形式呈现:
类型 | 说明 | 示例 |
---|---|---|
feat | 新增功能 | feat (#123): 添加支付模块 |
fix | 修复 Bug | fix (#456): 解决登录异常 |
docs | 文档更新 | docs: 更新 README |
style | 格式调整(不影响功能) | style: 统一代码缩进 |
refactor | 代码重构(非新增/修复) | refactor: 优化数据库查询 |
perf | 性能优化 | perf: 提升响应速度 |
test | 添加测试用例 | test: 补充单元测试 |
chore | 构建/工具链更新 | chore: 升级依赖版本 |
2.5 拉取远程最新代码
# 在主分支更新
git pull origin main
# 在开发分支更新
git pull origin new-feature
2.6 推送本地分支到远程
git push origin new-feature
# 首次推送可设置上游分支(简化后续推送)
git push -u origin new-feature
三、VSCode 服务器免密登录配置
3.1 生成 Windows SSH 密钥
# 在Windows命令行(Git Bash)中执行
ssh-keygen -t rsa -C "your.email@example.com"
密钥文件位置:C:\Users\YourName.ssh\id_rsa.pub
3.2 复制公钥到服务器
# 1. 查看Windows公钥内容
cat C:\Users\YourName\.ssh\id_rsa.pub
# 2. 登录Linux服务器,创建/编辑授权文件
vi ~/.ssh/authorized_keys
# 3. 将Windows公钥内容粘贴到该文件中
3.3 设置文件权限(关键!)
# 确保SSH目录和授权文件权限正确
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
3.4 在 VSCode 中验证连接
- 安装 Remote-SSH 扩展
- 点击左下角远程图标 → Connect to Host
- 输入服务器配置(如ssh username@server_ip)
- 选择私钥文件(Windows 路径 C:\Users\YourName.ssh\id_rsa)
四、常见问题解决方案
4.1 SSH 连接失败
# 测试SSH连接
ssh -T git@github.com # GitHub示例
ssh -T git@gitlab.com # GitLab示例# 若提示Permission denied,检查:
# 1. 公钥是否正确添加到Git服务
# 2. 防火墙是否开放SSH端口(默认22)
4.2 分支操作错误
# 查看所有分支(本地+远程)
git branch -a
# 切换回主分支
git checkout main
# 删除本地分支
git branch -d new-feature
# 删除远程分支
git push origin --delete new-feature
4.3 提交历史修改
# 修改最近一次提交信息
git commit --amend -m "修正后的提交信息"
# 撤销暂存
git reset HEAD filename
# 丢弃工作区修改
git checkout -- filename
- 通过以上步骤,你可以高效地使用 Git 进行版本控制,并实现 VSCode 与服务器的免密连接。建议定期同步代码,保持分支整洁,遵循团队统一的提交规范。