目录
一、Git的概念
Git 是一个分布式版本控制系统(DVCS),用于跟踪文件变更、协作开发和管理项目历史记录。以下是核心概念:
分布式版本控制:
与传统集中式版本控制(如 SVN)不同,Git 的每个用户都拥有完整的仓库副本(包括完整历史记录),无需依赖中央服务器即可工作。
仓库(Repository):
Git 仓库是项目文件的存储空间,包含所有版本历史。分为本地仓库(用户计算机)和远程仓库(如 GitHub、GitLab)。
提交(Commit):
提交是 Git 的基本操作单元,代表一次文件变更的快照。每次提交包含唯一哈希 ID、作者信息、时间戳和变更描述。
分支(Branch):
分支是独立开发线,允许在不影响主分支(如 main
)的情况下进行实验或功能开发。分支可随时合并(Merge)或删除。
暂存区(Staging Area):
提交前,需将变更文件从工作区添加到暂存区(git add
),再提交(git commit
)。暂存区允许选择性提交部分变更。
远程操作(Remote):
远程仓库是团队共享的代码库,通过 git push
上传本地变更,git pull
同步他人变更。常见命令包括 clone
、fetch
。
冲突解决(Conflict Resolution):
当多人修改同一文件时,Git 可能提示冲突,需手动合并冲突内容后重新提交。
二、Git的优势
离线工作:本地仓库完整,无需网络即可提交或查看历史。
高效分支:创建/切换分支速度快,适合敏捷开发。
数据完整性:通过 SHA-1 哈希校验文件内容,避免数据损坏。
三、Git的四个区
①工作区:
用户直接编辑文件的目录,所有未暂存的更改都存在于工作区。文件状态可能是已修改(modified)或未跟踪(untracked)。
②暂存区:
通过git add
命令将工作区的更改保存到暂存区。暂存区是准备提交的变更的中间状态,允许用户选择性提交部分修改。
③本地仓库:
通过git commit
将暂存区的变更永久保存到本地仓库。每次提交生成一个唯一的SHA-1哈希标识,包含文件快照、作者信息和提交消息。
④远程仓库:
通过git push
将本地仓库的变更同步到远程仓库(如GitHub、GitLab)。团队协作时,远程仓库作为中央代码库,其他人可通过git pull
获取更新。
四、Git命令
(1)基本命令
① git init——初始化本地仓库② git add 文件名——添加文件到暂存区
③ git commit -m '版本信息描述'——从暂存区提交到本地仓库
④ git status——查看状态
⑤ git log——查看历史记录
⑥ git reflog——查看对仓库的操作
⑦ git diff——比较本地仓库和工作区是否相同
⑧ git reset --hard HEAD^ ——回退
git reset --hard 序号——回退
⑨ git checkout 文件名—— 放弃修改
⑩ git reset HEAD 文件名——从暂存区撤销
(2)分支命令
① git branch 分支名——创建分支② git checkout 分支名——切换分支
③ git stash——保护现场,将现场隐藏
(如果一个用户正在编写,而另一个要切换分支,则要进行现场保护)
④ git stash list——得到隐藏的信息
⑤ git stash pop 信息代号——恢复现场
注意:不同的分支,代码信息可能不一样。
(3)远程仓库的命令
① git clone 仓库地址——克隆远程仓库② git push origin 分支名——推送到远程仓库
③ git pull——拉取远端更新