Git 的一些基本操作(持续更新)

一、介绍

Git 是一个免费、开源的分布式版本控制系统,它可以记录文件的历史变更,并在不同版本之间进行切换和合并。

二、基础

配置个人信息(这样别人就能看到是谁参与了代码修改)

git config --global user.name "还是一个小白"
git config --global user.email xiaobai@xiaobai.com

(1)工作区(初始化仓库)操作

对文件夹下所有文件进行版本控制,可通过以下代码将当前目录变成一个工作区

git init

在一个 Git 项目中,这个工作区就指这个项目所在的本地目录,包括文件、文件夹等等,可以在其中进行编辑、删除或创建,例如图中所示:(与 .git (隐藏文件) 处于同位置的空间( taskList文件夹下 )都是一个工作区)

在这里插入图片描述
介绍以下两种状态(工作区)

  • Untracked

表示工作区中新建的文件,且未使用 git add 添加至暂存区

  • Unstaged

表示已使用 git add 添加,已追踪,但修改完文件内容后未重新使用 git add 再次追踪其最新内容

(2)暂存区(缓存区)操作

可通过以下代码将工作区的代码提交到暂存区

// 添加指定文件
git add <文件名>

// 添加全部修改过的文件
git add .



> 当对工作区中的文件进行了修改或新建后,将文件提交到 Git 仓库之前需要先将这些更改暂存到暂存区。暂存区实际上是一个缓存区域,保存了我们想要提交的更改 

>每次提交到暂存区可以对比插入有变化或差异的文件,可以通过`git status`(查看当前的状态)查看当前 Git 工作区和暂存区的状态,展示哪些文件被修改过等等

![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/19ca69a264eb04c05f9de46e7c0f4a72.png#pic_center)

### (3)本地仓库操作
命令:`git commit`

>可通过`git commit`将暂存区提交到仓库区,将暂存区所有代码提交到本地 Git 仓库中
>
*一般执行命令后会进入vim编辑器,可手动编辑其信息*

另一种快捷命令:`git commit -m "自定义注释信息"`

>相当于备注,自定义注释信息是为了方便后续查看变更记录或回溯历史版本

### (4) 分支管理操作
> 通常项目位于主分支上,直接在主分支上面修改可能会有一定的操作或者业务风险,于是就有能设置自己的代码操作位于某一条上分支上面的想法(并行操作,未合并时不会影响主分支上面的代码),最后确定修改再全部合并回主分支上面
```js
// 创建分支
git branch

// 切换分支
git checkout <分支名>

// 合并分支
git merge <分支名>

//删除分支
git branch -d <分支名>

(5) 远程仓库操作

根据项目存放的平台不同,可能有不同方法,常见的为 GitHub,Gitee

// 创建
git remote add <仓库名> <自己的仓库url地址>

// 推送本地仓库的代码进入远程仓库(推送后远程仓库会自动对比代码的差异,随后进行更新)
git push <远程仓库名> <分支名>(如果只有一条分支就是填入master)

// 拉取远程仓库的代码
git pull <远程仓库名> <分支名>

// 克隆远程仓库的代码
git clone <仓库地址>

(6) 撤销操作

// 查看提交记录
git reflog

// 撤销对文件的修改(工作区提交过来的内容),返回工作区,在工作区中修改的内容仍然保留
git reset HEAD <文件名>

// 将整个分支重置到某个特定的提交(硬撤销)
// 重置暂存区和工作区,丢弃所有未提交的更改,部分删除文件和新增文件可能恢复和删除
git reset --hard <commit-hash(哈希值)>

// 软撤销(与上面部分不同)
// 代码的修改仍会保留在暂存区,新增的文件保留,删除的文件消失,并且可以重新提交
git reset --soft <commit-hash>

// 混合模式-中性操作(默认)
// 代码的修改仍会保留在工作区,而不是暂存区,新增的文件保留,删除的文件消失,
git reset <commit-hash>

一些基本操作大概就这么多,后面会继续介绍业务上面的问题,例如如果代码冲突了等等

以上仅为自己学习过程中总结出来的操作,如有错误,欢迎指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值