Skip to content

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> 删除远程分支