Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布

Git Basics for newbies

Git 基础概念

Git 是一个分布式版本控制系统(DVCS),用于跟踪文件变更、协作开发和版本管理。其核心是通过快照(snapshot)记录文件状态,而非传统版本控制系统的增量差异。

核心概念

  1. 仓库(Repository)
    • 本地仓库:存储于开发者本机的版本库。
    • 远程仓库:托管在服务器(如 GitHub、GitLab)的共享版本库。
  • 工作区、暂存区、版本库
    • 工作区:本地直接编辑的目录。
    • 暂存区(Stage/Index):临时保存待提交的变更。
    • 版本库(.git目录):存储所有提交历史和元数据。
  • 提交(Commit) 每次提交生成一个唯一的 SHA-1 哈希值,包含文件快照、作者、时间戳和提交信息。
  • 分支(Branch) 轻量级指针,指向某个提交。默认分支通常为 mainmaster

基础命令与示例

代码语言:txt
复制
# 初始化仓库
git init

# 克隆远程仓库
git clone <远程仓库URL>

# 查看状态
git status

# 添加文件到暂存区
git add <文件名>  # 添加单个文件
git add .         # 添加所有变更

# 提交到版本库
git commit -m "提交信息"

# 推送至远程仓库
git push origin <分支名>

# 拉取远程更新
git pull origin <分支名>

# 创建分支
git branch <新分支名>

# 切换分支
git checkout <分支名>
# 或(Git 2.23+)
git switch <分支名>

# 合并分支
git merge <目标分支名>

优势

  1. 分布式架构:每个开发者拥有完整仓库,支持离线工作。
  2. 高效分支管理:创建/切换分支速度快,适合敏捷开发。
  3. 数据完整性:通过 SHA-1 哈希确保历史不可篡改。
  4. 协作友好:支持多人并行开发(如 Pull Request 机制)。

常见问题与解决

1. 提交了错误的文件

代码语言:txt
复制
# 撤销暂存区文件(保留工作区修改)
git reset HEAD <文件名>

# 彻底丢弃工作区修改
git checkout -- <文件名>

2. 冲突解决

合并分支时若发生冲突:

  1. 打开冲突文件,手动编辑标记(<<<<<<<>>>>>>> 之间的内容)。
  2. 保存后重新提交:
  3. 保存后重新提交:

3. 误删分支恢复

代码语言:txt
复制
# 查找被删分支的最后提交哈希
git reflog

# 恢复分支
git branch <分支名> <提交哈希>

应用场景

  1. 个人项目:跟踪代码历史,随时回退版本。
  2. 团队协作:通过分支开发、代码审查(Code Review)合并变更。
  3. 开源贡献:Fork 仓库后提交 Pull Request。
  4. 持续集成(CI):与自动化工具(如 Jenkins)结合,触发测试和部署。

学习资源推荐

通过掌握这些基础,你可以高效管理代码版本并参与协作开发。遇到复杂问题时,可进一步学习 rebasestash 等高级功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券
首页
学习
活动
专区
圈层
工具
MCP广场