Git 基础操作

注:本文为自己理解,如有不正确地方请谅解 / 指出!

👀

一、Git

1、Git介绍

(1)Git是目前世界上最先进的分布式版本控制系统。

版本控制系统: 设计师在设计的时候做了很多版本,经过数天后在去问设计师每个版本都改了啥,设计师此时可能就说不上来了。这个时候如果能有一个软件能记录每次的文件改动,并且还能协调多用户编辑,那岂不是美滋滋?这个软件应用起来应该像这个样子:版本、文档名、操作用户、日志、修改时间。

(2)Git与GitHub

2.1 两者区别:(Git是一个软件,GitHub是一个网站)
1)Git是一个分布式版本控制系统,简单的说起就是一个软件,用于记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况软件。
2)GItHub(https://www.github.com)是一个为用户提供Git服务的网站,简单说就是一个可以放代码的地方(不过可以放的当然不仅是代码)。GitHub除了提供管理Git的web界面外,还提供了订阅、关注、讨论组、在线编辑器等丰富的功能。GitHub被称之为全球最大的基友网站。
2.2 GitHub注册

打开GitHub官网:https://www.github.com 点击右上角的“Sign up”按钮。 (选择免费账户、进行验证)

2.3 Git安装

打开Git官网:https://git-scm.com/ 进行下载;下载成功自行安装 (安装完成后可能会不能输入中文:1.打开Git Bash后,对窗口右键->Options->Text->Locale改为zh_CN,Character set改为UTF-8即可 2.关闭再打开就可以啦。)

2.Git的使用

(1)本地仓库

①工作流程
1)Git本地操作的三个区域:(用三个模块来表示)

a.Git Repository(Git仓库) 最终确定的文件保存到仓库,成为一个新的版本,并且对他人可见 b.暂存区 暂存已经修改的文件最后统一提交到Git仓库中 c.工作区(Working Directory) 添加、编辑、修改文件等动作

在这里插入图片描述

2)工作流程:(从下往上)

在这里插入图片描述

(一个思想:就是从工作区把所有任务布置完成后由暂存区一次存到Git仓库) 三个指令:

git add  
git commit -m 
git status

1.2:本地仓库操作

在这里插入图片描述

(创建用户表:在不重装App/不重装系统的情况下都不会在用到--属于一次性操作--)

在这里插入图片描述

(作为初学Git建议用空文件夹,但目录中不能有中文)
在这里插入图片描述

创建git仓库的步骤:
01、命令 mkdir 文件名 创建空目录 也可以 右键直接创建

在这里插入图片描述

02、在命令行中 cd 文件名 进入目录

在这里插入图片描述

03、Git仓库初始化(让Git知道,它需要来管理这个目录)

指令:git init (用于让Git知道,它需要来管理这个目录)

在这里插入图片描述
表现:执行后会在项目目录下创建“.git”的隐藏目录,这个目录时Git所创建的,不能删除,也不能随意更改其中的内容。

在这里插入图片描述

在后续对于文件(可以操作一个或多个)操作之后,重复使用git add 与 git commit指令即可。 操作步骤:
在这里插入图片描述

1.3:时光穿梭机–版本回退(开发的后悔药)

版本回退分为两步骤进行操作:
	步骤:
		01:查看版本,确定需要回到的时刻点
			指令:
				git log
				git log --pretty=oneline
git log 与 git log --pretty=oneline的区别:(其目的是一样的)

在这里插入图片描述

02、回退操作
			指令:
				git reset --hard 提交编号

案例:回到创建好第一个文件readme.txt的时候。
在这里插入图片描述

注意:回到过去之后,要想再回到之前最新的版本的时候,则需要使用指令去查看历史操作,以得到最新的commit id。 指令:Git reflog
在这里插入图片描述

小结:
1、要想回到过去,必须先得到commit,然后通过git reset-hand 进行回退;
2、要想回到未来,必须使用git reflog进行历史操作查看,得到最新的commit id;
3、在写回退命令的时候commit id 可以不用写全,git会自动识别,但是也不能写太少,至少需要些前4位字符。

二、远程仓库

线上仓库操作以GitHub为例。

2.1 线上仓库创建

注意:仓库名要求在当前账号下唯一
GitHub创建存储库的步骤:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2:两种常规使用方式

2.2.1:基于http协议

操作步骤:
01、创建空目录,名称就称为:GitHub上创建的项目名

在这里插入图片描述

02、使用clone 指令克隆线上仓库到本地

语法:git clone 线上仓库的地址
在这里插入图片描述
从线上克隆到本地(并且和线上的东西是一样的)
在这里插入图片描述

03、在仓库上做对应的操作(提交暂存区、提交本地仓库、提交线上仓库、拉取线上仓库)

提交到线上仓库的指令:git push
在这里插入图片描述

在首次往线上仓库shop提交内容的时候出现了403的致命错误,原因是 不是任何人都可以往线上仓库提交内容,必须需鉴权。 需要修改“.git/config”文件内容:

在这里插入图片描述

(注意:
1、提交线上需要联网	
2、报 403 是没有权限   对其进行权限设置)

例如:修改好的config文件,
在这里插入图片描述
在设置好用户名之后再次尝试push指令:
在这里插入图片描述
线上提交后的效果(浏览器上刷新):
在这里插入图片描述

拉取线上仓库: git pull
在这里插入图片描述

提醒(非常重要)
在每天工作的第一件事就是先git pull拉取线上最新的版本;
每天下班前要做的是git push,将本地的代码提交到线上仓库。

·

2.2.2:基于ssh协议 (推荐)

该方式与前面https方式相比,只是影响github对于用户的身份鉴权方式,对于git的具体操作(如提交本地、添加注释、提交远程等操作)没有任何影响。
	生成公私钥对指令(需先自行安转OpenSSH):ssh-keygen -t rsa -C "注册邮箱"
		步骤:
			1、生成客户端公私钥文件
			2、将公钥上传到GitHub
实际操作:
01:打开提示

在这里插入图片描述

02:创建公私钥对文件

首先安装OpenSSH,因为Windows不带,需自行安装。
在这里插入图片描述

03:上传公钥文件内容(id_rsa.pub)

在这里插入图片描述
填写完毕之后保存即可。
在这里插入图片描述
在这里插入图片描述

04:执行后续git操作,操作与先前一样
【1】clone(克隆)线上仓库到本地 (指令:git clone)

在这里插入图片描述

在这里插入图片描述

【2】修改文件后添加缓存区(后面操作跟https都一样了)

在这里插入图片描述

线上仓库效果:
在这里插入图片描述

2.3 分支管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 补充:用一个命令代替创建分支和切换分支

在这里插入图片描述

操作步骤:

01、查看分支 git branch

在这里插入图片描述

注意:当前分支前面有个标记“*”( ` * ` 在谁前面代表当前分支)。

02、创建分支 git branch 分支名

在这里插入图片描述

03、切换分支 git checkout 分支名

在这里插入图片描述

04、合并分支 git merge 被合并的分支名

现在现在dev分支下的readme文件中新增一行并提交本地

在这里插入图片描述

切换到master分支下观察readme文件
在这里插入图片描述

将dev分支的内容与master分支合并:
在这里插入图片描述

05、删除分支 git branch -d 分支名(合并完成后 dev分支就没有用了,执行删除)

在这里插入图片描述

注意:在删除分支的时候,一定要先退出要删除的分支,然后才能删除。

06、合并所有分支之后,需要将master分支提交到线上远程仓库中:

在这里插入图片描述

2.4 冲突的产生与解决

案例:模拟产生冲突。

【产生冲突】

01、同事在下班之后修改了线上仓库的代码

在这里插入图片描述

注意:此时我的本地仓库里面的内容与线上是不一致的。

在这里插入图片描述

02、第二天上班的时候,我没有做 git push操作,而是直接修改了本地的对应文件的内容。

在这里插入图片描述

03、需要在下班的时候将代码修改提交到线上仓库(git push)。

在这里插入图片描述
提示我们要在再次push之前先git pull操作。

【解决冲突】

04、先git pull

在这里插入图片描述

此时git 已经将线上与本地仓库的冲突合并到了对应的文件中。

(合并后的效果)

在这里插入图片描述

05、打开冲突文件,解决冲突。

解决方法:需要可能和同事(谁先提交的)进行商量,看代码如何保留,将改好的文件再次提交即可。

在这里插入图片描述

06、重新提交

在这里插入图片描述

线上效果:
在这里插入图片描述

三、Git实用技能

01、图形管理工具

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

02、忽略文件

在这里插入图片描述

案例:

01、先在本地仓库中新建一个js目录以及目录中js文件

在这里插入图片描述

02、依次提交本地与线上

在这里插入图片描述
在这里插入图片描述

线上效果:

在这里插入图片描述

03、新增 .gitignore文件(用的是 liunx命令来创建的)

在这里插入图片描述

04、编写文件中的规则(根据需要编写)

在这里插入图片描述
在这里插入图片描述

05、再次提交本地与线上

在这里插入图片描述

06、观察线上仓库js目录中是否有新增index.md文件:

在这里插入图片描述

OVER

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值