Git 是什么?
- Git 是一个分布式版本控制系统
- 四大区域:
- 工作区:项目文件的当前状态,即本地目录。
- 暂存区:保存将要提交 的文件快照 ,是一个中间层,使用
git add
将文件添加到暂存区。 - 本地仓库:保存已提交 的文件快照,使用
git commit
提交到本地仓库。 - 远程仓库:通过
git push
将更改推送到远程,通过git pull
拉取远程更新。
Git 的工作流程
- 初始化仓库:通过
git init
创建.git
文件夹,包含所有版本控制相关信息。 - 文件跟踪:
- 未跟踪文件:刚创建的文件,Git 尚未跟踪
- 跟踪文件:已被Git 管理的文件,有三种状态:
- 未修改:文件未更改。
- 已修改:文件在工作区被修改。
- 已暂存:文件被添加到暂存区。
- 基本操作流程:
- 修改文件:在工作区中编辑文件。
- 暂存更改:使用
git add
将修改添加到暂存区。 - 提交更改:使用
git commit
将暂存区的文件提交到本地仓库。
- 分支管理:
- 分支是对提交快照的指针,可以并行开发。
git branch
:列出本地分支。git branch -r
:列出远程分支。git branch -a
:列出本地和远程的所有分支。git checkout <分支名>
或git switch <分支名>
:切换分支。git merge <分支名>
:合并指定分支到当前分支。git branch -d <分支名>
:删除本地分支(需合并后才能删除,使用 -D 强制删除)。git push origin --delete <分支名>
:删除远程分支。
- 远程操作:
- 使用
git clone
克隆远程仓库到本地。 - 使用
git pull
拉取远程更新。 - 使用
git push
推送本地提交到远程仓库。
- 使用
基本Git 命令
- 创建与初始化:
git init
:初始化一个空的Git 仓库。git clone <url>
:克隆远程仓库到本地。
- 跟踪文件:
git add <file>
:将文件添加到暂存区。git commit -m "<message>"
:将暂存区内容提交到本地仓库,可附加备注消息。
- 查看状态:
git status
:查看工作区、暂存区的状态。git log
:查看提交历史。
- 分支和合并:
git branch
:列出分支。git checkout
:切换分支。git merge
:合并分支。
- 远程操作:
git pull
:拉取远程更新。pull
是fetch
和merge
的组合。git push <远程名称> <分支名称>
:推送本地提交到远程仓库的指定分支。
设置Git
- 下载Git
- 设置用户名
- 全局设置:
git config --global user.name "Your GitHub Name"
- 当前仓库设置:
git config user.name "Your GitHub Name"
- 全局设置:
- 设置邮件地址:
- 全局设置:
git config --global user.email "Your GitHub Email"
- 当前仓库设置:
git config user.email "Your GitHub Email"
- 全局设置:
关于远程仓库
- 添加远程仓库:
git remote add <远程名称> <远程url>
- 更改远程仓库的URL:
git remote set-url
- 重命名远程仓库:
git remote rename <远程原名> <远程新名>
- 删除远程仓库:
git remote rm <远程名称>
GitHub流
- 创建分支:通过创建分支,可以创建一个工作空间,而不会影响默认分支。
- 进行更改
- 创建拉取请求:要求协作者对你的更改进行反馈。
- 解决审查评论
- 合并拉取请求:拉取请求获得批准后,合并你的拉取请求。 这将自动合并你的分支,以便你的更改显示在默认分支上。
- 删除分支:合并拉取请求后,删除您的分支。 这表明分支的工作已经完成,可防止您或其他人意外使用旧分支。