Git入门

@
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

Git基础入门


提示:以下是本篇文章正文内容,下面案例可供参考

一、Git

Git是分布式版本控制系统

二、Git与GitHub

1.了解

Git是一个分布式版本控制系统,简单的说其就是一个软件, 用于记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的软件。

Github )是一个为用户提供Git服务的网站,简单说就是一个可以放代码的地方(不过可以放的当然不仅是代码)。Github 除了提供管理Git的web界面外,还提供了订阅、关注、讨论组、在线编辑器等中富的功能。Github 被称之为全球最大的基友网站。

2.本地仓库操作

​ 什么是仓库呢?仓库又名版本库,英文名repository, 我们可以简单理解成是一个目录,用于存放代码的,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除等操作Git都能跟踪到。

①在安装好后首次使用需要先进行全局配置
桌面空白处右键,点击“Git Bash Here”以打开Git命令行窗口,输入下列内容(用户名和邮箱是GitHub的)

$ git config --global user.name "用户名”
$ git config --global user.email "邮箱地址"

②创建仓库
当我们需要让Git 去管理某个新项目/已存在项目的时候,就需要创建仓库了。注意,创建仓库时使用的目录不一定要求是空目录,选择一个非空目录也是可以的,但是不建议在
现有项目上来学习Git。
注意:为了避免在学习或使用过程中出现各种奇葩问题,请不要使用包含中文的目录名(父目录亦是如此)。

如图所示
在这里插入图片描述
初始化成功会产生一个隐藏的.git文件哦

a.创建空目录 mkdir 文件名
b.在命令行中进入目录 cd 文件名
c.Git仓库初始化(让Git指导,它需要来管理这个目录) git init (记得显示 隐藏文件)

③Git常用指令操作
查看当前状态: git status [非必要]
添加到缓存区: git add 文件名

说明: git add指令,可以添加一个文件,也可以同时添加多个文件。
语法1: git add 文件名
语法2: git add 文件名1 文件名2 文件名3
语法3: git add .	[添加当前目录到缓存区中]

提交至版本库: git commit (这里有一个空格) -m“注释内容”

在后续对于文件(可以操作1个或多个)操作之后,重复使用git add与git commit指令即
可。

3、版本回退(时光穿梭机)
版本回退分为两步骤进行操作:
①查看版本,确定需基回到的时刻点
指令: git log

git log --pretty=oneline(推荐用)
②回退操作
指令: git reset --hard 版本号黄色标识字符
回退之前
回退之后

注意:回到过去之后,要想再回到之前最新的版本的时候,则需要使用指令去查看历史操作,
得到最新的commit id(版本号).
指令: git reflog
回到最新

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

GitHub远程仓库的创建
通过GitHub创建即可,简单易用。【仓库名称(repository name)要求在当前账号下唯一】

3.远程仓库的使用

3.1基于https协议
提交本地仓库

1、新建一个空的目录并进入【mkdir 文件名 cd 文件名

2、使用clone指令将线上仓库克隆到本地 【 git clone 线上仓库地址
在这里插入图片描述

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

clone–操作–add–commit–push

​ 提交到线上仓库的指令: git push

此处易出现的问题为
在这里插入图片描述

连接超时443问题

 Failed to connect to github.com port 443:connection timed out

有效解决方案 克隆地址的https改为git
以及第一次的权限403问题

隐藏的git文件中的config文件https://后加上账号和密码(密码已废除,用令牌)

git的账密验证弃用,改为token或SSH密钥

终于成功了,如上图所示。

拉取线上仓库
在GitHub上创建一个文件

Add file→ 输入文件名,内容,注释→创建即可。

拉取线上仓库指令: git pull

每天第一件事情就是git pull(拉取线上仓库最新版本),最后一件事git push(本地代码提交到仓库)

基于ssh协议
在这里插入图片描述

Git的分支操作
在版本回退的章节里,每次提交后都会有记录,Git 把它们串成时间线,形成类似于时
闻轴的东西,这个时间轴就是一一个分支,我们称之为master分支。
在开发的时候往往是团队协作,多人进行开发,因此光有一一个分支是无法满足多人同时
开发的需求的,并且在分支上工作并不影响其他分支的正常使用,会更加安全,Git 鼓励开发者使用分支去完成一些开发任务。

分支相关指令:
查看分支: git branch
创建分支: git branch 分支名
切换分支: git checkout 分支名
删除分支: git branch -d 分支名
合并分支: git merge 被合并的分支名

查看—创建—切换

新增一行内容到分支login,并提交到本地

再切回master,readme文件中的新增行消失。此时需要合并。

合并后,login分支可删除了。

【在删除分支时,一定要先退出要删除的分支】

一个修改host的软件,可以加速github社区

三、Git实用技能

1、图形化管理工具
【Github for Desktop】【Source tree】

2、忽略文件
场景:在项目目录下有很多万年不变的文件目录,例如css、js、images 等,或者还有一些目录即便有改动,我们也不想让其提交到远程仓库的文档。此时我们可以使用“忽略文
件”机制来实现需求。
忽略文件需要新建一个名为.gitignore 的文件,该文件用于声明忽略文件或不忽略文件的规则,规则对当前目录及其子目录生效。
注意:该文件因为没有文件名,没办法直接在windows 目录下直接创建,可以通过命
令行Git Bash来touch创建。
常见规则写法有如下几种:

1) /mtk/			  过滤整个文件夹
2)* .zip			  过滤所有zip文件
3) /mtk/do.c		  过滤某个具体文件
4)lindex.php		  不过滤具体某个文件

我们在使用git初始化一个项目时,尤其是通过git submodule update --init --remote初始化子模块时,可能会遇到下面这个错误:
在这里插入图片描述
这是由于当你通过HTTPS访问Git远程仓库的时候,如果服务器上的SSL证书未经过第三方机构认证,git就会报错。原因是因为未知的没有签署过的证书意味着可能存在很大的风险。解决办法就是通过下面的命令将git中的sslverify关掉:

git config --global http.sslverify false

添加一个js目录并写一个js文件,然后提交。之后,忽略文件的添加

之后,再在js目录里加了一个js文件。再次提交,在github仓库可看到效果。

总结

学废了
TOC

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值