Git 安装和使用教程(Windows)

安装

  git官方下载地址: https://git-scm.com/download/win
  不过下载很慢,而且容易打不开,于是找了个其他下载链接
  下载完成后,一路点击next,所有设置保持默认安装即可。

使用

  申请gitee账号,并新建一个ThermalCam仓库。

SSH同步方式

  gitee支持两种同步方式“https”和“ssh”。

  如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。
  如果使用ssh方式就需要客户端先生成一个密钥对,即一个公钥一个私钥。然后还需要把公钥放到githib的服务器上。
  这两种方式在实际开发中都有应用。这里只介绍ssh。

SSH 为 Secure Shell(安全外壳协议)的缩写,由 IETF 的网络小组(Network Working Group)所制定。
SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
使用ssh协议通信时,推荐使用基于密钥的验证方式。你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。
如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。
如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。
客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

ssh密钥生成

  在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入命令:ssh-keygen -t rsa
在这里插入图片描述
  执行命令完成后,在window本地用户.ssh目录C:\Users\用户名\.ssh下面生成如下名称的公钥和私钥:
在这里插入图片描述

ssh密钥配置

  密钥生成后需要在gitee上配置密钥本地才可以顺利访问。
在这里插入图片描述

在这里插入图片描述

  在公钥部分将id_rsa.pub文件内容添加进去,然后点击确定按钮完成配置。
在这里插入图片描述

git架构介绍

首先得明白git的架构,架构包含三棵树:工作区域、暂存区域和 Git 仓库。
在这里插入图片描述

工作区域(Working Directory) 就是你平时存放项目代码的地方。
暂存区域(Stage) 用于临时存放你的改动,事实上它只是一个文件,保存即将提交的文件列表信息。
Git 仓库(Repository) 就是安全存放数据的位置,这里边有你提交的所有版本的数据。其中,HEAD 指向最新放入仓库的版本。

Git 的工作流程一般是:

  1. 在工作目录中添加、修改文件;
  2. 将需要进行版本管理的文件放入暂存区域;
  3. 将暂存区域的文件提交到 Git 仓库。

因此,Git 管理的文件有三种状态:已修改(modified)、已暂存(staged)和已提交(committed),依次对应上边的每一个流程。

git操作

1、创建仓库

  仓库英文名repository,可以理解为一个目录,这个目录里面的所有文件都可以被Git管理,文件的修改,删除Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻将文件”还原”。
  下面是在我的电脑→D盘→TEST文件夹下,创建一个名为lianxi的仓库:(其实就是新建一个名为lianxi的文件夹)
在这里插入图片描述
命令解析:

cd:进入某个目录
mkdir:创建一个文件
pwd:显示当前的目录路径

2、添加文件到版本库

  要添加文件到仓库,首先需要将这个目录变为git可以管理的仓库,命令如下:
在这里插入图片描述
  执行git init命令后,会发现lianxi文件夹下多了.git文件夹。执行git init后,lianxi文件夹才真正变成了仓库。
  然后,在lianxi目录下创建一个文件,这里我创建的文件为0409.txt,内容为123456
  使用下列的命令,将创建的文件添加到暂存区,然后提交到仓库:
在这里插入图片描述
命令解析:

git add:将文件提交到暂存区
git commit -m:将暂存区文件提交到仓库(单引号内为注释)

  从前面的三棵树架构可以知道,我们新建0409.txt文件是在工作区域操作的,执行git add把这个改动先临时存到暂存区,再执行git commit -m把改动从暂存区保存到仓库,这样才算真正完成了改动的保存。没有办法把改动从工作区域直接存到仓库。

3、检查是否有未提交的文件

通过下面的命令,检查该版本库是否有文件未提交:
在这里插入图片描述
命令解析:

git status:检查当前文件状态

4、检查文件是否被修改

修改0409.txt的文件,然后重新检查状态:
在这里插入图片描述
修改文件后,通过命令git status发现,文件已经被修改,但是未提交。
如果要检查文件修改了什么内容,可以通过git diff命令来查看,发现文件的第二行增加了666666的内容。
检查无误后,继续提交修改后的文件,提交命令和上面一样。

命令解析:

git diff:查看文件修改的内容

5、查看历史变更记录

再次修改文件内容,第三行增加233333的内容,然后保存提交:
在这里插入图片描述
现在已经修改了2次文件,可以通过如下命令查看历史修改记录:
在这里插入图片描述
如上图所示:每次提交都会有自己的版本号,当然,如果觉得这样看起来比较费事,可以使用命令,获得精简版本的日志记录。

命令解析:

git log:获得历史修改记录
git log --pretty=oneline:使记录只显示主要的内容,一行显示

6、版本回退

首先通过命令行查看当前的文件内容:
在这里插入图片描述
然后通过下列的命令,执行版本回退:
在这里插入图片描述
可以看到内容已经回退到上一个版本,通过git log查看修改记录,发现最近的一次233333内容的记录已经看不到了,如果想回到最新的版本,可以通过如下命令进行回退:
在这里插入图片描述
从上图可以看到,文件版本又回退到了最新的状态。

命令解析:

cat:查看文件内容
git reset --hard HEAD^:回退到上一个版本
git reflog:获取历史版本号
git reset --hard 版本号:回退到该版本号对应的版本

PS:如果要回退到上上个版本,可以使用git reset --hard HEAD^^命令,但是这样稍显麻烦,如果回退到100个版本之前,只需要执行这个命令即可:git reset --hard HEAD~100;

五、将本地文件推送到github仓库

检查文件是否还有未提交或者修改的,然后将文件提交到github仓库,命令如下:
在这里插入图片描述
命令解析:

git remote add origin https://github.com/zwg481026/APITest.git是将你本地的仓库和github仓库进行关联,在操作时候,需要将github地址替换为自己的,否则无法推送!

然后执行下面的命令:
在这里插入图片描述
第一次推送master分支时,加上了 –u参数,Git会将本地的master分支内容推送到远程新的master分支,还会把2个master分支关联起来,在以后的推送或者拉取时就可以简化操作。

推送成功后,可以立刻在github页面中看到远程库的内容已经和本地一模一样了,登录你的github,从仓库中查看即可。
之后,只要本地做了修改提交,就可以使用git push origin master命令进行文件推送。

把本地文件夹同步到远程仓库

在该文件夹下右键打开git bash

git init                  //初始化本地仓库
git add .               //把当前文件夹下所有文件都加入暂存区
git commit -m "first commit"       //把暂存区的文件保存到仓库
git remote add origin https://gitee.com/qlexcel/thermal-cam.git    //把本地仓库与远程仓库关联
git push -u origin master                   //把本地仓库推送到远程仓库

之后,只要本地做了修改提交,就可以使用git push origin master命令进行文件推送。

如果本地仓库和远程仓库分别都做了修改,那么git push -u origin master会失败,必须要先git pull把远程仓库修改同步到本地,然后再把本地推送到远程。如果不想麻烦,可以直接执行git push -u -f origin master把本地仓库强制覆盖远程仓库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【ql君】qlexcel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值