Git版本控制
Git 是一个开源的分布式版本控制系统,它采用了分布式版本库的方式,不需要服务器端软件支持。
一、git 工作流程
1. 克隆仓库
当参与一个已有的项目时,首先需要将远程仓库克隆到本地:
git clone https://项目地址.git
2. 创建分支
一般不会直接在 main 或 master 分支上进行开发,通常会创建一个新的分支:
git checkout -b new-feature
3. 暂存文件
将修改过的文件添加到暂存区
git add 文件
4. 提交至本地仓库
将暂存区的更改提交到本地仓库,并添加提交信息:
git commit -m "提交信息"
5. 推送至远程仓库
将本地的提交推送到远程仓库:
git push
为了避免冲突,可以先从远程仓库 git pull
一次拉取最新的更改
二、git 工作区、暂存区和仓库
1. 工作区
工作区是位于本地计算机上的项目目录,我们在这里进行文件的创建、修改和删除操作。
工作区包含了当前项目的所有文件和子目录。
特点:
- 显示项目的当前状态。
- 文件的修改在工作区中进行,但这些修改还没有被记录到版本控制中。
2. 暂存区
暂存区是一个临时存储区域,它包含了即将被提交到版本库中的文件快照。
在提交之前,我们可以选择性地将工作区中的修改添加到暂存区。
特点:
- 暂存区保存了将被包括在下一个提交中的更改。
- 可以多次使用
git add
命令来将文件添加到暂存区,直到准备好提交所有更改。
相关命令:
git add filename
将单个文件添加到暂存区
git add .
将工作区中的所有修改添加到暂存区
git status
查看哪些文件在暂存区中
git checkout -- <file>
丢弃所有未提交的更改,这对于撤销不需要的更改非常有用
3. 本地仓库
包含项目的所有版本历史记录。
每次提交都会在库中创建一个新的快照,这些快照是不可变的,确保了项目的完整历史记录。
本地仓库存储在 .git
目录中,它包含了所有提交的对象和引用。
相关命令:
git commit -m "Commit message
将暂存区的更改提交到本地版本库
git log
查看提交历史
git diff
查看工作区和暂存区之间的差异
git diff --cached
查看暂存区和最后一次提交之间的差异
三、git 分支管理
使用分支可以从开发主线上分离开,在不影响主线的同时工作
1. 创建分支
git checkout -b <branchname>
创建并切换到新分支
git checkout (branchname)
切换到某个分支
2. 查看分支
git branch
查看所有分支
3. 合并分支
git merge <branchname>
将其他分支合并到当前分支
当合并过程中出现冲突时,Git 会标记冲突文件,需要手动解决冲突
合并后再 git commit
提交一次即可
4. 删除分支
git branch -d <branchname>
本地的分支
git branch -D <branchname>
强制删除未合并的分支
git push origin --delete <branchname>
删除远程分支