本文首次创作于 2025-03-05,最后更新于 2025-05-23,距离上次更新已经过了 13 天,文章内容可能已经过时。

使用VS Code和Git进行代码管理

1. Git环境配置

1.1 安装Git

1.2 配置用户信息

 git config --global user.name "Your Name"
 git config --global user.email "your.email@example.com"

1.3 配置SSH密钥(推荐)

 ssh-keygen -t ed25519 -C "your.email@example.com"
 # 将公钥(~/.ssh/id_ed25519.pub)添加到GitHub SSH Keys

2. 本地代码提交到GitHub

2.1 初始化本地仓库

 mkdir project_folder
 cd project_folder
 git init

2.2 关联远程仓库

 git remote add origin https://github.com/username/repo.git
 # 或使用SSH地址
 git remote add origin git@github.com:username/repo.git

2.3 添加并提交文件

 # 添加单个文件
 git add filename.txt
 ​
 # 添加所有文件
 git add .
 ​
 # 提交更改
 git commit -m "Initial commit"

2.4 推送到远程仓库

# 首次推送需要设置上游分支
git push -u origin main

# 后续推送
git push

3. 同步远程仓库更改

3.1 拉取最新更改

git pull origin main

3.2 处理合并冲突

  1. 打开冲突文件,查找<<<<<<<, =======, >>>>>>>标记

  2. 编辑文件保留需要的代码

  3. 标记冲突已解决:

    git add resolved_file.txt
    git commit

3.3 强制同步(谨慎使用)

git fetch origin
git reset --hard origin/main

4. 多人协作开发流程

4.1 标准协作流程

  1. 拉取最新代码:

    git pull origin main
  2. 创建特性分支:

    git checkout -b feature-branch
  3. 开发并提交更改

  4. 推送到远程:

    git push -u origin feature-branch
  5. 创建Pull Request

4.2 代码审查后合并

  1. 切换回主分支:

    git checkout main
  2. 拉取最新代码:

    git pull origin main
  3. 合并特性分支:

    git merge feature-branch
  4. 解决可能的冲突

  5. 推送更改:

    git push origin main

5. 常见问题解决

5.1 提交了错误的文件

# 从暂存区移除文件但保留工作目录文件
git reset HEAD filename.txt

# 完全丢弃工作目录的更改
git checkout -- filename.txt

5.2 撤销上一次提交

git reset --soft HEAD~1

5.3 恢复已删除的分支

git reflog
git checkout -b branch-name commit-hash

6. VS Code Git集成功能

6.1 基本操作

  1. 源代码管理面板(CTRL+SHIFT+G)

  2. 更改标记:

    • U: 未跟踪文件

    • M: 修改过的文件

    • D: 已删除文件

6.2 高级功能

  1. 行级提交: 选择部分代码行进行提交

  2. 暂存更改: 临时保存工作进度

  3. 分支管理: 可视化创建/切换分支

  4. 冲突解决工具: 可视化解决冲突

6.3 推荐扩展

  1. GitLens: 增强的Git功能

  2. GitHub Pull Requests: PR管理

  3. Git Graph: 可视化提交历史

最佳实践建议

  1. 频繁提交小更改

  2. 编写清晰的提交信息

  3. 定期从主分支拉取更新

  4. 使用特性分支开发新功能

  5. 推送前运行本地测试

  6. 定期清理已合并的分支

附录: Git常用命令速查表

命令

描述

git clone <repo>

克隆远程仓库

git status

查看仓库状态

git log

查看提交历史

git diff

查看更改内容

git branch

列出所有分支

git stash

临时保存工作进度

git tag

管理版本标签