Git 仓库使用心得
Git 是一个分布式版本控制系统,广泛用于代码管理和团队协作。本文档整理了 Git 的核心概念、标准工作流以及常用命令速查,帮助快速回顾与查阅。
核心概念
理解 Git 的四个基本概念是熟练使用它的前提:
- Workspace(工作区):你在电脑上看到的目录,比如
.git文件夹外面的目录。 - Index / Stage(暂存区):一个临时文件,保存了下次将提交的文件列表信息。
- Repository(仓库区 / 本地仓库):安全存放数据的位置,这里面有你提交的所有版本的数据。
- Remote(远程仓库):托管代码的服务器,可以简单地理解为在你电脑上存放项目所有版本的一个 Git 仓库。
常用工作流
日常开发中最基础的操作流程如下:
初始化或克隆
如果是新项目,在当前目录初始化:
git init如果是已有项目,克隆到本地:
git clone <url>添加与提交
将文件修改添加到暂存区:
git add .提交到本地仓库:
git commit -m "提交说明"关联远程仓库
如果尚未关联,先添加远程地址:
git remote add origin <远程仓库地址>同步与推送
拉取远程更新并变基合并(避免不必要的 merge commit):
git pull --rebase origin master推送到远程仓库:
git push -u origin master
命令参考
配置
设置文件通常为 .gitconfig,位于用户主目录下。
# 显示当前的 Git 配置git config --list# 编辑配置文件git config -e [--global]# 设置用户信息(全局或当前项目)git config [--global] user.name "[name]"git config [--global] user.email "[email]"分支管理
# 列出所有本地、远程及所有分支git branchgit branch -rgit branch -a# 新建分支并切换git checkout -b <branch-name># 切换分支git checkout <branch-name># 合并指定分支到当前分支git merge <branch-name># 删除本地分支git branch -d <branch-name># 删除远程分支git push origin --delete <branch-name>变基 (Rebase)
使用 git rebase <branch> 可以将当前分支的提交“重放”到指定分支上,保持提交历史线性整洁。
远程同步
# 查看远程仓库信息git remote -v# 更新远程仓储git remote update# 取回远程仓库的变化git fetch [remote]# 强行推送(谨慎使用)git push [remote] --forceWarning
git push --force 会强制覆盖远程历史,可能导致同事的代码丢失。除非万不得已,请勿使用。
撤销操作
Caution
以下命令可能会丢失未提交的修改,执行前请确认工作区状态。
# 恢复工作区文件(放弃修改)git checkout -- <file># 恢复暂存区文件git checkout <commit> <file># 重置暂存区git reset <file># 重置当前分支指针(硬重置,丢弃所有修改)git reset --hard [commit]# 新建一个 commit 来撤销指定 commitgit revert [commit]查看信息
# 显示有变更的文件git status# 显示提交历史(简洁模式)git log --oneline --graph --all# 显示当前修改git diff# 查看某次提交的详细信息git show [commit]高级命令
# 暂存未完成的修改git stashgit stash pop# 选择某个 commit 合并进当前分支git cherry-pick [commit]# 显示当前分支的最近几次提交(含已删除的)git reflog# 显示文件修改历史及 blame 信息git log --follow [file]git blame [file]# 生成发布压缩包git archive