## Git - Git的概念 开源的分布式版本控制系统管理 - 三个区域的概念 ​ **工作区**:在电脑中可以看到的目录 ​ **暂存区**:临时存储区域,保留文件快照,提交之前保存在此。 ~~~ git add filename # 将单个文件添加到暂存区 git add . # 将工作区中的所有修改添加到暂存区 git status # 查看哪些文件在暂存区中 git commit -m "name" ~~~ ​ **版本库**:每次提交都会保存新的快照,不可变。存放 在.git目录下index文件 - 仓库的概念 * 存放所有文件和历史记录 - 节点的概念 - (提交commit)是仓库中项目某个事件点快照,生成40位哈希值 - 分支的概念 - 开发过程中独立的分流线,本质是一个指向某个可提交的移动指针 ~~~ bash git branch name #创建分支 git checkout name #切换分支 或/ git switch name git merge new_name # ~~~ | 命令 | 说明 | | ---------------- | ---------------------------------------- | | `git init` | 初始化仓库 | | `git clone` | 拷贝一份远程仓库,也就是下载一个项目。 | | `git add` | 添加文件到暂存区 | | `git status` | 查看仓库当前的状态,显示有变更的文件。 | | `git diff` | 比较文件的不同,即暂存区和工作区的差异。 | | `git difftool` | 使用外部差异工具查看和比较文件的更改。 | | `git range-diff` | 比较两个提交范围之间的差异。 | | `git commit` | 提交暂存区到本地仓库。 | | `git reset` | 回退版本。 | | `git rm` | 将文件从暂存区和工作区中删除。 | | `git mv` | 移动或重命名工作区文件。 | | `git notes` | 添加注释。 | | `git checkout` | 分支切换。 | | | | # sourceTree