Git 与 GitHub 入门指南:版本控制与协作实战
Git 和 GitHub 是程序员日常开发中不可或缺的工具。Git 是目前最先进的分布式版本控制系统,拥有庞大的用户群体;GitHub 则是全球最大的代码托管平台和开源社区。
为什么需要 Git 和 GitHub?
在没有版本控制工具时,编程工作面临诸多风险:
- 无法追踪同事对代码的修改,导致冲突难以解决。
- 本地代码出错后无法回溯到稳定版本。
- 硬件故障或误操作可能导致代码丢失。
本文介绍了 Git 版本控制系统及 GitHub 托管平台的基础知识。涵盖安装配置、SSH 密钥生成、仓库创建与克隆、以及日常开发中的常用命令如提交、分支管理和远程同步。旨在帮助开发者建立规范的代码管理流程,提升协作效率。内容包括 Git 历史背景、环境搭建、工作流详解、分支策略及常见问题解决方案。

Git 和 GitHub 是程序员日常开发中不可或缺的工具。Git 是目前最先进的分布式版本控制系统,拥有庞大的用户群体;GitHub 则是全球最大的代码托管平台和开源社区。
在没有版本控制工具时,编程工作面临诸多风险:
使用 Git 和 GitHub 可以解决这些问题:
Linux 之父 Linus Torvalds 于 1991 年创建了 Linux 系统。随着代码量激增,原有的 BitKeeper 商业软件无法满足需求。2005 年,因授权纠纷,Linus 决定自行开发开源版本控制系统,耗时十天用 C 语言编写了 Git。
2007 年,三位开发者创立了 GitHub 公司,基于 Git 构建了免费代码托管平台。凭借易用性和强大的社交属性,GitHub 迅速超越 Google Code 等竞争对手,成为全球开发者首选的代码托管服务。
根据不同操作系统选择安装方式:
brew install git。sudo apt-get install gitsudo yum install git-core安装完成后,在终端输入 git --version 检查是否成功。
首次使用前需设置用户名和邮箱,这将标识你的提交作者信息:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
访问 GitHub 官网,点击右上角 Sign up 按钮,填写基本信息完成注册。建议开启两步验证以增强安全性。
登录 GitHub 后,点击右上角加号图标,选择 New repository。输入仓库名称(如 demo-project),可选择公开或私有,点击 Create repository 完成创建。
为了免密码推送代码,建议使用 SSH 密钥认证。
ssh-keygen -t ed25519 -C "[email protected]"
cat ~/.ssh/id_ed25519.pub
若本地已有项目文件夹,可初始化为 Git 仓库:
git init
git status 显示文件变更情况。git add . 将所有修改加入暂存区,或指定文件 git add filename.txt。git commit -m "描述性提交信息"。从 GitHub 拉取远程仓库到本地:
git clone [email protected]:username/repo.git
注意使用 SSH 地址(以 git@ 开头)以启用密钥认证。
将本地提交推送到远程仓库:
git push origin main
首次推送可能需要设置上游分支:git push -u origin main。
获取远程最新更改并合并:
git pull origin main
git branchgit branch feature-namegit checkout feature-name 或 git switch feature-namegit merge feature-name当多人修改同一文件时可能产生冲突。Git 会在文件中标记冲突区域,需手动编辑保留所需内容,然后重新提交。
用于指定忽略跟踪的文件,避免敏感信息或构建产物上传。常见规则包括:
node_modules/, venv/).class, *.pyc).env)示例 .gitignore 内容:
node_modules/
.env
*.log
.DS_Store
建议遵循约定式提交(Conventional Commits)规范,例如:
feat: 新功能fix: 修复 bugdocs: 文档更新style: 格式调整refactor: 重构代码git pull 再 git push。git filter-branch 或 BFG Repo-Cleaner 清理历史。掌握 Git 和 GitHub 的基本操作是成为专业开发者的基础。通过规范的版本控制和协作流程,可以显著提升开发效率和代码质量。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online