git基本命令的理解

本文适合git命令初学者和对git不是很熟悉的读者阅读。
本文包括git各种基本概念的讲解,git常见流程,异常流程,回溯方法,冲突处理的方法。

1 git含义理解图

在这里插入图片描述

2 git基本流程图

在这里插入图片描述
在项目中一般会有一个master主分支,和很多版本分支,比如version1.0,2.1等。自己会在某个版本上进行开发。

1克隆到本地分支git clone xxx后默认是master分支;

2 首先要通过git branch version2.1切换到自己的工作分支,git branch -a可以查看所有分支。

​ 因为版本分支一般不可以直接push,需要管理员确认,所以我们要在这个基础上建立自己的分支git branch -b myNewBranch。(这一步人们往往会忘记,后面有处理方法)

3 在自己的工作区写代码,可能经历很长时间。

4 git add 修改的文件名,只是为修改的文件增加索引,也就是说明哪些是要提交的内容,此时你所修改的文件也只有在工作区一份。

5 git commit -m "此次修改的备注信息",将工作区的代码保存到本地仓库,此时代码才相对安全。

注意:修改代码后,没有git commit -m之前,切换分支会导致工作区代码和目标分支代码自动合并,有冲突会切换分支失败(切换分支失败,后面有处理方法),切换分支时暂存区会内容不变。

6 git pull origin version2.1重新拉远程的2.1分支,因为修改代码时其他人可能修改远程分支,需要确认是否存在冲突。

6.1 如果编辑存在冲突的文件,用git status中unmerge状态的文件就是冲突文件,vim打开后>>>>>=====<<<<<中间就是冲突部分。再重新执行4、5过程。

7 git push origin myNewBranch提交到远程自己的分支,后期合并需要管理员确认。

个人开发的过程只需要1、3、4、5、7。

多人小项目无管理员(自己可以有权限push到版本分支),则无需2过程中git checkout -b新建自己的分支,第7步中直接提交到版本分支即可,其他都一样。

3 忘记新建分支的处理方法

只有在6.1过程后4过程之前,是不能git checkout -b的。其他任何时候都可以新建自己的分支。

4 本地切换分支出现冲突

情况一:需要原分支不需要修改,目标分支需要修改。

1 需要先将冲突文件git add filename && git stash save filename到存放区。此时存放区有真正修改的文件。

2 切换分支git checkout branchName

3 查看存放目录git stash list,找到索引indexgit stash pop stash@{index}

4 然后通过编辑解决冲突即可。

情况二:原分支需要修改,目标分支不需要修改。

1 git add filenamegit commit -m "备注信息"

2 切换分支git checkout branchName

情况三:不再需要修改的代码。

1 需要先将冲突文件git add filename && git stash save filename到存放区。

2 切换分支git checkout branchName

3 查看存放目录git stash list,找到索引indexgit stash pop stash@{index}

​ 或者直接git stash clear

情况四:两个分支都需要代码。

可以根据情况一和二来解决。

5 回溯

先用git log查看commit的hash值

git reset --soft hash值 只是修改head的指向,不修改其他区域。

git reset --mix(默认选项)hash值是修改head的指向,且清空暂存区。

git reset --hard hash值 是修改head的指向,清空暂存区,更改工作区代码,工作区代码会消失

如果git reset --hard hash值后想要找回,通过git reflog可以查找最后一次commit的hash值,再通过git reset --hard hash值,只能找回到最后一次commit的代码。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值