Git入门操作

Git简介

Git分有工作区,暂存区,本地库
在这里插入图片描述
Git具体命令

1. 初始化

命令:

git init

首先新建一个文件夹,把他当作我们要用git来管理的一个项目文件。右键点击GitBashHere
在这里插入图片描述
会弹出一个命令框,我们执行git init
在这里插入图片描述

这代表我们已经初始完成

2. 状态查看

git status

在这里插入图片描述
这个告诉我们当前在master分支上,没有提交记录,最后一行告诉我们没有内容需要提交
其它git状态下面会讲到

3. 添加操作

git add [filename/.]  # . 代表当前文件中的所有内容

此命令表示将工作区的内容提交到暂存区
这里先新建一个test.txt文件并且键入hello git
在这里插入图片描述
这时再查看状态
在这里插入图片描述
告诉我们,此时有新的文件进来了,它可以去提交,于是使用git add命令,下方的警告实是在安装git的时候就会告诉你的替换规则,不用管他。这时再查看状态
在这里插入图片描述
告诉我们已经将test.txt文件提交到了暂存区,同时还提示给我们另外一个命令

git rm --cached [filename]

该命令是将暂存区的文件移除
在这里插入图片描述
此时又变成了之前的状态

4. 提交操作

该命令是将暂存区的文件提交到本地库

git commit -m "必要的说明"

在这里插入图片描述
这里说明该文件已经被追踪到了,剩下就是上传到远程仓库进行管理

5. 提交到远程仓库

git remote add origin 远程仓库地址  #与远程仓库建立连接
git remote rm origin # 删除已和远程仓库建立的连接
git push origin master #提交到master分支,或者其它分支,自己定义即可
git push -u origin master #-u参数,可简化下次直接git push即可

在这里插入图片描述
可使用

git remote -v

查看关联信息
在这里插入图片描述
此时可用

git push origin master #master可以改为任意的分支

进行上传
在这里插入图片描述
github上查看远程仓库,文件已经上传了上去
在这里插入图片描述
这时再对test.txt文件进行修改,查看状态,这里说明已经对工作区的文件进行了修改
在这里插入图片描述
我们再执行添加,提交操作

在这里插入图片描述

6. 查看版本历史记录

git log
git log --pretty=oneline #日志以一行显示,哈希值全部显示
git log --oneline #日志以一行显示,哈希值显示7位
git reflog # 显示当前版本移动到其它版本移动的步数,并且显示所有的历史版本

在这里插入图片描述
这里有多个其中HEAD指向的表示当前版本,即刚才修改提交的版本,而后续的回滚等操作,实际上就是移动HEAD这个指针进行的。
为了方便叙述版本前进后退,多进行几次提交
在这里插入图片描述
一行显示
在这里插入图片描述
显示版本移动步数HEAD{NUM},NUM表示移动到当前版本的移动步数
在这里插入图片描述

7. 版本前进后退

  1. 基于索引值
git reset --hard 索引值 # 索引值可以只取最后7位即可

在这里插入图片描述
此时文件已发生改变
在这里插入图片描述
多次移动,查看日志
在这里插入图片描述

  1. 使用^符号:只能往后
git reset --hard HEAD^  #有几个^符号,表示往后退几个版本

需要去历史记录数版本数

  1. 使用~符号:只能后退
git reset --hard HEAD~[num] # 表示回退num个版本

同样需要去历史记录中数版本个数

git reset参数对比

--soft  #仅仅在本地库移动指针
		暂存区	工作区
本地库
--mixed #在本地库移动HEAD指针,重置暂存区
				工作区
本地库	暂存区
--hard #在本地库移动HEAD指针,重置暂存区并且重置工作区

8.永久删除文件后找回

前提:删除前,文件存在时的状态已经提交到了本地库
首先,创建test1.txt文件,提交后删除
在这里插入图片描述
可以看到,工作区已经没有test1.txt文件里,这里git告诉我们可以把删除的记录进行提交
在这里插入图片描述
提交到本地库所有的版本git都会记录,这样就i可以恢复文件。这里我们可以回退到上一个没有删除test1.txt的版本
在这里插入图片描述
可以看到test1.txt文件找回来了。当删除操作知识添加到了暂存区,没有提交到本地库时,删除了工作区的莫格文件,则找回如下
在这里插入图片描述

9.文件比较

git diff [filename] #在暂存区,比较filename文件的变化
git diff HEAD [filename] #和本地库中的版本进行比较

我们在test1.txt中加入一行语句,查看文件变化
在这里插入图片描述
绿色表示新添加的,如果是删除文件里的一些内容,则会用红色来标记。如果提交到暂存区,则无法比较,需要带上HEAD指定某个版本
在这里插入图片描述

10.git分支

什么是分支?
我的理解:在版本控制过程中,使用多条线同时推进多个任务
在这里插入图片描述
多个分支合并或修复bug
在这里插入图片描述

  1. 创建分支
git branch 分支名  #创建分支

首先查看当前状态,发现在master主分支上
在这里插入图片描述
当然也可以使用如下命令查看所有分支

git branch -v

在这里插入图片描述
我们添加一个hot_fix分支
在这里插入图片描述
2. 切换分支

git checkout 分支名 #切换到指定分支

在这里插入图片描述

git checkout -b 分支名 #创建并切换到指定分支

在这里插入图片描述
3. 提交到分支
切换到分支提交即可,此时可以看到,test_a这个分支已经变成了最新的版本
在这里插入图片描述
4. 合并分支
第一步:切换到被合并,需要增加新内容的分支上
第二部:执行如下命令

git merge branchname  # 表示把branchname的内容合并合并到当前分支上

在这里插入图片描述
5. 冲突解决
不同分支下对同一个文件都进行了修改,那么当要合并的时候,git不知道需要以哪一个位准进行合并,这时候就需要手动合并
在这里插入图片描述
冲突体现:
在这里插入图片描述

第一步:编辑文件,删除特殊符号
第二步:把文件修改到满意程度,保存退出
第三步:git add [文件名]
第四步:git commit -m “日志信息”
注意,这里commit后面不能加上文件名,否则会报错

在这里插入图片描述
正确执行后,就合并过来啦
在这里插入图片描述

11.git克隆

git clone 仓库远程地址

远程仓库地址
在这里插入图片描述
在这里插入图片描述
此时就clone下来了
在这里插入图片描述

12.git拉取

git pull origin master

在new_test中的test.txt中随便写入几句话后我们提交
在这里插入图片描述
再去远程仓库查看,发现内容已经改变
在这里插入图片描述
这时切换到gittest目录下,进行拉取
在这里插入图片描述
解决冲突

git pull origin master
  1. 如果不是基于GitHub远程库的最新版所做的修改,不能推送,必须先拉取。拉取下来后如果进入冲突状态,则按照“分支冲突解决”揉作解决即可
  2. 拉取下来后如果进入冲突状态,则按照“分支冲突解决”揉作解决即可。
  • 21
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值