Git高效使用指南:从入门到精通

Git 是一个分布式版本控制系统,用于跟踪文件变更、协作开发和管理代码历史。

安装 Git

  • Windows:从 Git 官网 下载安装程序,按默认选项完成安装。
    Git Bash 是 “面向用户的最终操作界面”,它基于 MSYS 提供的 Shell 环境 运行,而 MSYS 又依赖 MinGW 提供的编译 / API 兼容层,三者共同实现 “Windows 上用 Linux 风格的 Git”。
  • Linux:使用包管理器安装,例如 Ubuntu/Debian:sudo apt-get install git

基本配置

配置用户名和邮箱(提交时标识身份):

gitconfig--globaluser.name"Your Name"gitconfig--globaluser.email"your.email@example.com"

查看配置:git config --list

常用命令

初始化和克隆仓库

gitinitgitclone https://github.com/user/repo.git

添加到暂存区,提交,检查状态,查看提交历史

gitaddfilename# 添加单个文件gitadd.# 添加所有变更gitcommit-m"Commit message"gitstatusgitloggitreflog 能找回所有操作记录

版本穿梭

远程操作

SSH免密码登陆

添加和查看,拉取,推送

gitremoteaddorigin https://github.com/user/repo.gitgitremote-vgitpull origin branch-namegitpush origin branch-name

分支管理(并行协作)

创建,切换,合并和删除

gitbranch new-branchgitcheckout branch-namegitmerge source-branchgitbranch-dbranch-name

合并分支尽量用rebase

git merge 是 “安全保守派”:保留历史,操作简单,适合公共分支整合。
git rebase 是 “历史优化派”:整洁线性,适合feature分支,慎用公共分支。
让 git pull 默认使用 --rebase(不用每次手动加参数),可以配置:
git config --global pull.rebase true

撤销操作

撤销工作区修改

gitcheckout -- filename

撤销暂存区文件

gitreset HEAD filename

高级功能

  • 储藏变更git stash临时保存未提交的修改。
  • 标签管理git tag v1.0标记重要版本。
  • 子模块git submodule管理依赖的其他仓库。 主仓库会存储子模块的引用(包括仓库 URL 和当前提交哈希)
  • 补充提交:git commit --amend --no-edit 是 “补充小修改到最近一次提交,且不打扰提交信息”。原则:仅用于本地未推送的提交。
  • 灵活挑选:git cherry-pick 是灵活挑选跨分支的单个或少量提交。适合修复问题或抢救错误提交。
  • 提取文件 / 文件夹:git checkout – <路径> 直接定向提取