Git常用操作指令

1.本地库初始化

命令:git init
效果:
在这里插入图片描述
注意:
.git存放的是本地库相关的子目录和文件,不要删除,不要乱修改

设置签名

形式:
用户名:HXZ
Email地址:2826081307@qq.com
作用:区分不同开发人员的身份

命令:
项目级别/仓库级别:仅在当前本地库范围内有效
git config user.name HXZ
git config user.email 2826081307@qq.com
在这里插入图片描述

信息保存在当前目录下的 .git/config 文件

系统用户级别:登陆当前操作系统用户的范围
git config --global user.name HXZ
git config --global user.email 2826081307@qq.com
保存位置:~/.gitconfig
在这里插入图片描述

级别优先级

  • 就近原则,二者都存在时,以项目级别为标准
  • 不存在两者都没有的情况

2.基本操作

状态查看操作:查看工作区,暂存区状态

git status

添加操作:git add [file name]

将工作区的“工作/修改”添加到的暂存区

提交操作:git commit -m “commit message” [file name]

将暂存区的"工作/修改"添加到本地库

查看历史记录:git log

在这里插入图片描述多屏显示控制方式:
向下翻页:空格
向上翻页:b
退出:q

git log --pretty=oneline(只显示当前和过去的记录)
在这里插入图片描述
git log --oneline(只显示当前和过去的记录)
在这里插入图片描述

git reflog(显示所有的历史记录)

在这里插入图片描述
HEAD@{a},其中a表示移动到当前版本所需要的步数

前进和后退:

在这里插入图片描述

基于索引值操作:git reset --hard [局部索引值]

例如:git reset --hard 03b59ab

使用^符号,只能后退 git reset --hard HEAD^

注:一个^符号表示后退一步

使用~符号,只能后退 git reset --hard HEAD~n

注:n表示后退的步数,例如:git reset --hard HEAD~2,表示后退两步

reset三个参数的对比

–soft:

仅仅在本地库移动HEAD指针
在这里插入图片描述
绿字表示本地库和暂存区不一致
在这里插入图片描述

–mixed:

在本地库移动HEAD指针
重置暂存区
在这里插入图片描述
红字表示暂存区和工作区不一致
在这里插入图片描述

–hard:

在本地库移动HEAD指针
重置暂存区
重置工作区

删除文件并保存:

删除文件和新增文件类似逻辑,git rm 删除文件后,依然需要 git commit 提交版本.
删除文件和添加文件类似,都是一次commit ,本地文件的任何更改都要添加到暂存区,然后提交到版本库.
前提:删除前,文件存在时的状态保存到了本地库
操作:git reset --hard [指针位置]
删除操作已经提交到本地库:指针位置指向历史记录
删除操作未提交到本地库:指针位置使用HEAD

比较文件差异:

git diff [文件名]
将工作区的文件与暂存区的文件进行比较
git diff [本地库中历史版本] [文件名]
将工作区的文件和本地历史记录进行比较

比较多个文件时不带文件名

3.分支管理

分支概念:
在版本控制过程中,使用多条线同时推进多个任务

分支的好处:
同时推进多个功能开发,提高开发效率
在各个分支开发的过程中,某个分支的失败不会对其他分支有任何的影响,删除失败的分支重新开始即可。

分支操作:

创建分支:git branch [分支名]

查看分支:git branch -v

切换分支:git checkout [分支名]

合并分支:

第一步:切换到接受修改的分支上(被合并的分支,增加新内容)上
git checkout [被修改的分支]
第二部:执行merge命令
git merge [有新内容的分支]

解决合并分支时产生的冲突:
产生冲突的原因:恰好不同分支刚好修改了相同文件的相同位置,但是修改的内容又不一样,这时就不知道以那个分支修改的内容为准
分支冲突的表现:
在这里插入图片描述

冲突的解决:

第一步:编辑文件,删除特殊符号
第二步:把文件修改到满意的程度
第三步:git add [文件名]
第四步:git commit -m "日志信息"
注意:此时commit后面一定不能带具体的文件名

4.使用GitHub:

创建别名
git remote add origin https://github.com/H-YaoDong/huashan.git
推送操作
push [别名] [分支名]
git push origin master
在这里插入图片描述

克隆操作

命令:git clone [远地库地址]
在这里插入图片描述
完整的把远程库下载到本地库
创建origin远地库地址别名
初始化本地库

拉取操作:

pull=fetch+merge
git fetch [远程库地址名] [远程分支名]
git merge [远程库地址名/远程库分支名]

协同开发时冲突的解决:
如果不是基于GitHub远程库的最新版所做的修改,不能推送,必须先拉取
拉去下来如果进入冲突状态,则按照“分支冲突”的操作解决即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值