git命令整理和简单理解

git是常用的版本管理工具,工作中只用到了最简单的操作,pull 和push命令,今天有时间看了一些不错的博客,简单总结和整理一下关于git的使用和理解。

1.git的基本结构 在这里插入图片描述

workspace 工作区

index 暂存区

repository 本地仓库

remote 远程仓库

1.从下到上的流程

本地开发的路径为工作区,新增文件后通过add添加到暂存区,提交本地文件的时候先通过commit命令,将暂存区的内容提交到本地仓库repository中,再通过push命令将本地文件推送到远程仓库中。

2.从上到下的流程

通过clone命令,将远端仓库中的文件克隆到本地仓库中,工作区通过checkout命令可查看本地仓库中的各个分支,通过pull命令可直接拉取远程仓库中的文件到本地工作区。

2.分支

分支可谓是git中一个非常重要的概念,我个人认为也是因为分支使git从众多版本管理工具中脱颖而出,既然是这么重要的概念那接下来我们好好了解一下吧!

在使用git过程中,每次提交本地文件到远程仓库时,Git都把这些提交串成了一条时间线,这条时间线就是一个分支,一个项目默认有一个主分支master,head指向master,master再指向相应的文件,这样head就能指向当前的提交了。

在这里插入图片描述

每次我们通过commit将暂存区的文件提交到本地仓库时,通过git commit -m ‘描述’,为每次提交添加相应的描述,这样就可以区分开每次提交。如下图所示,提交依次为A、B、C、D…这就是我们的主分支master,在实际开发过程中,如果一个功能需要一个星期才能完整写完,未写完时不能提交到主分支上,或者多人协同工作时,写不同的部分也要新建分支。
在这里插入图片描述

新建分支 dev, 此时head指向变成dev,所有的提交都在dev分支上进行,不影响master分支。
在这里插入图片描述
当完成dev分支的开发时,再将dev分支合并到主分支上。此时master的分支上也有了原本dev分支上的内容。由此我们可以看出分支的好处是很明显的。开发新功能或者多人协同开发时新建分支,然后待功能完成或个人开发完成再将所有代码汇集到主分支上。
在这里插入图片描述

将dev分支合并到主分支上之后可以删除dev分支,此时head又指向了master。
在这里插入图片描述

下面详细写一下整个过程

一、提交过程

1.新建一个本地git仓库: git init

2.将本地文件加入暂存区:git add . (add 后直接跟文件名,当写 ‘ . ’ 时,默认把当前目录下的所有文件加入到暂存区 )

3.将暂存区的文件提交到本地仓库:git commit -m '提交描述’

4.将本地仓库的文件提交到远端仓库:git push remote add origin '远端url’

二、切分支过程

1.新建一个分支: git branch < name >
(git branch 后不接名称时为查看分支)

2.切换分支:git checkout < name >

3.新建并切换到分支: git checkout -b < name > 此为上2步的简写,-b 为branch的简写

4.提交分支到主分支: git merge < name >

5.切换分支回主分支: git checkout master

6.删除次要分支: git branch -d < name >

(注意,将新建的分支删除时,要切换回主分支,否则不能删除新建的分支,因为此时正在新建分支上,head指向为新建分支)

-----------------------------------------------------------分割线---------------------------------------------------------------------

常用git命令:

$ git init //将目录变成git仓库
$ git add 1.txt //将文件添加到版本库
$ git commit -m “版本描述” //将文件提交到git仓库 并添加版本更新描述
$ git status //查询文件状态是否有未提交的文件
$ git diff 1.txt //查询1.txt修改的地方
$ git log --pretty=oneline //查询版本并一行显示
$ git reset --hard HEAD^ //回退到上一个版本
$ git reflog //显示版本号和对应信息
$ git reset --hard 435ccc9 //回退到制定版本的文件
cat 1.txt //查看文件内容

$git branch // 查看分支
$git branch aotedan // 创建分支
$git checkout // 切换分支
简写 $git checkout -b dev 创建并切换到dev分支
$git merge // 合并某分支到当前分支
$git branch -d aotedan //删除分支

$git log // 查看提交历史
$git log --oneline // 一行显示提交历史
$git log --online --graph //查看历史中什么时候出现了分支、合并
$git log – reverse --oneline //–reverse’参数来逆向显示所有日志。
$git log --author=aotedan //查找指定用户的提交日志可以使用命令

$ git tag -a v1.0 //Git 标签

在这里插入图片描述

在这里插入图片描述

参考文章

https://www.cnblogs.com/matengfei123/p/8252128.html

https://blog.csdn.net/qianyu6200430/article/details/102385503

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值