Git(一)

Git_Day01


Git架构

在这里插入图片描述

  • 其中git init是将当前文件夹创建成为一个可供git操作的文件夹,此时当前的文件夹就可以被看作是一个工作区
  • git add .是将工作区中的内容添加到暂存区
  • git commit -m "注释"将内容从暂存区提交到本地仓库
  • 通过git push将内容提交到公共的代码平台上去,即Github或者是Gitee(码云)
  • 之后我们需要使用的时候就通过git pull将平台上的代码拉下来修改

GIT区域介绍

创建文件夹 git init

1、git有3个区域

  • 工作区(working directory):项目的根目录,不包括.git在内的其他文件
  • 暂存区(stage area):是一个看不见的区域,git add命令就是将文件添加到该区域,git add .表示添加所有,git status命令可以查看当前暂存区的文件,文件标识改了,(没有加号重启一下)
  • 本地仓库(repository):指在工作目录下创建的一个.git目录,这是一个隐藏目录。git commit -m "日志名"可以将暂存区的代码提交到本地仓库。git push -u origin master就是将本地仓库的代码推送到远程仓库

2、git文件的3种状态(尝试查看文件图标变化)

  • 已修改(modified),存在于工作区,文件修改后的状态
  • 已暂存(staged),存在于暂存区,采用git add命令后的状态
  • 已提交(committed),存在于本地仓库,采用git commit命令后的状态

Git安装

概述:

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。

下载安装:

下载地址:https://git-scm.com/

下载后傻瓜式一键安装,建议安装在英文目录下

安装完成后在开始菜单中能够找到该程序

或者右击桌面,能够看到如下Git选项

在这里插入图片描述

  • GUI为用户界面模式
  • Bash为命令行模式

Git的常用命令

命令备注
git status查看仓库的改变情况,会有相关的提示操作出现
git add直接添加所有改动的文件
git commit -m “note”确认生成本地的版本,note是 版本特点说明
git push将改动上传到github,若没有指定分支,则需要使用git push origin master
git log查看版本更新情况
git reset --hard x回退到某个本地版本,x为git log中出现的hash值的前七位
git clean --xf清除所有的未提交文件

Git基本操作:

1、创建一个目录

$ mkdir firstgit

2、进入该目录

$ cd firstgit/

3、查看当前所在磁盘的位置

$ pwd
/f/work/firstgit

4、初始化仓库

$ git init
Initialized empty Git repository in F:/work/firstgit/.git/

Git安装完成之后用于上传代码到Gitee和从Gitee拉取代码的操作

  • 由于git是分布式管理工具,需要输入用户名和邮箱以作为标识,因此,我们按右键打开Git Bash命令框,在命令行输入如下配置

    git config --global user.name "Your Name"    
    Your Name:填写你想要的名字,可以为中文
    
    git config --global user.email "email@example.com"     
    email@example.com:填写邮箱地址,可以使用自己的QQ邮箱,方便记忆
    
  • 生成SSH公钥,许多 Git 服务器都使用 SSH 公钥进行认证,所以我们也需要配置该公钥,百度搜索git ssh密钥生成 ,建议使用我给的命令

    # 输入如下命令,三次回车即可生成 ssh key
    ssh-keygen -t rsa -C "email@example.com"
    email@example.com:这里的邮箱是自己之前设计的邮箱
    ssh-keygen -t rsa -C "email@example.com" 是一个用于生成 SSH 密钥对的命令,具体含义如下:
    
    ssh-keygen 是一个用于生成和管理 SSH 密钥的命令行工具。
    -t rsa 参数指定要生成 RSA 类型的密钥对。RSA 是一种非对称加密算法,用于在 SSH 连接中进行身份验证和数据传输的加密。
    -C "email@example.com" 参数用于在生成的密钥中添加注释或标识信息。这里的 "email@example.com" 是用于标识此密钥对所关联的用户或身份的电子邮件地址。
    运行该命令后,ssh-keygen 会生成两个文件:
    
    id_rsa:这是私钥文件,应该严格保密,不应与他人共享。
    id_rsa.pub:这是公钥文件,可以将其复制并添加到需要进行 SSH 连接的服务器或服务上,以进行身份验证。
    生成密钥对后,您可以使用私钥与远程服务器建立安全的 SSH 连接,并使用公钥将您的身份验证信息发送给服务器以进行验证。这有助于确保连接的安全性,并允许您进行安全的远程管理。
    
    在 ssh-keygen 命令中,-C 和 -t 是两个参数,分别代表以下含义:
    
    -C "email@example.com" 参数:
    
    含义:该参数用于添加一个注释或标识信息到生成的密钥文件中。
    作用:通常用于标识此密钥对所关联的用户或身份。在参数后面提供的字符串将作为注释保存在公钥文件中,可以帮助您识别不同的密钥对所属的用户或目的。
    -t rsa 参数:
    
    含义:该参数用于指定要生成的密钥类型。
    作用:在这个参数中,rsa 指定了使用 RSA 算法生成密钥对。RSA 是一种非对称加密算法,用于在 SSH 连接中进行身份验证和数据传输的加密。它生成一对密钥:公钥和私钥。公钥用于进行身份验证,而私钥必须妥善保管,用于解密和进行 SSH 连接时的身份验证。
    综上所述,-C 参数允许您为生成的密钥文件添加一个注释或标识信息,而 -t 参数则用于指定要生成的密钥类型,这里是 RSA 密钥对。这两个参数在生成 SSH 密钥对时提供了一些额外的灵活性和标识信息的能力。
    

    这里生成的邮箱可以在此电脑C盘之下的用户目录下的本机用户名下的.ssh文件(没找到这个文件的话建议打开隐藏文件试一下)中找到私钥和公钥,这个之后有用

    在这里插入图片描述

  • 在gitee上注册一个账号,登录进入以后点击头像设置,点击邮箱管理,然后在邮箱管理中配置自己的邮箱,这个必须要配置,可以使用QQ邮箱后面用的上

  • 点击ssh公钥将之前设置的公钥粘贴到指定位置,可以给公钥改个名字,不改也行

  • 点击头像新建仓库按照要求进行操作,开源许可证随便选一个就行,语言和gitignore都选择java,设置模板是readme文件,选择但分支模型(只创建master分支)

  • 打开Git Bash终端输入如下命令进行连接测试

    ssh -T git@gitee.com
    
    ssh -T git@gitee.com 是一个用于测试 SSH 连接的命令。它的作用是验证您的SSH密钥是否配置正确以及与Gitee(码云)之间的连接是否正常。
    
    具体而言,该命令会尝试使用 SSH 协议连接到 Gitee,并通过提供的 Git 用户(git@gitee.com)进行身份验证。如果您的SSH密钥正确配置,并且与 Gitee 上的帐户关联,您将收到一条欢迎信息,表明您已成功建立了SSH连接。这样,您就可以通过SSH协议进行与Gitee的交互操作,例如进行代码克隆、推送和拉取等。
    
    请注意,该命令只用于测试SSH连接,不会执行其他操作。如果您需要执行其他Git操作,如克隆或进行其他版本控制操作,请使用相应的Git命令,如 git clone、git push 等。
    
  • 使用命令同步代码

    代码同步有3个步骤:add、commit、push

    a. 在本地磁盘中找一个目录,用于初始化本地仓库存放项目代码

    b. 将项目拷贝到该目录下,与.git同级(项目不能为空文件夹),使用git init 命令将该文件夹变成git可以操作的文件夹,这个时候可以看到文件夹中多了一个.git文件

    c. 使用名,将hospital-parent添加到本地仓库中,使用git add 目录命令

    d. 将项目提交至本地仓库,使用git commit -m 备注命令

  • 将远程仓库与本地仓库关联

    关联命令:
    git remote add origin xxx,其中xxx指的是从自己的仓库中的克隆/下载中复制的SSH信息
    
  • 远程仓库与本地仓库合并

    这时候不着急推,先将远程仓库的文件同步一次到本地,否则直接推会报错

    # 表示从远程master分支拉取代码与本地仓库进行合并,此时一定要保证本地的文件是绿色的
    git pull --rebase origin master
    

    此时你会发现本地代码多了几个文件

  • 将本地代码推送到远程分支

    # push表示推送到远程分支
    git push -u origin master
    
  • 之后就可以在gitee仓库中看到提交上去的代码了


后续代码改动使用如下步骤

  • 依次执行以下命令(远程仓库没有发生改动的情况),如果远程分支的代码已经被别人修改,需要先拉取代码,再提交,这个过程稍微复杂一点,若存在冲突则涉及到同一行代码的合并

  • 执行add

    # 将已改动的文件添加到暂存区
    git add bigdata17/
    

    执行commit

    # 将暂存区的代码提交到本地仓库
    git commit -m "第二次提交"
    

    执行push

    # 将本地仓库的所有更改推送到远程服务器的master分支
    git push origin master(完整写法,远程分支若不存在则会被创建)
    或者
    git push origin(远程仓库与本地仓库存在分支最终关系的写法)
    或者
    git push(远程仓库只有一个分支,最简单的写法)
    

使用idea提交代码到码云

  • 首先在idea中下载gitee插件

  • 搜索gitee并添加账户(要保障自己的码云是在浏览器中打开的),如果账号密码登陆的话就要输入自己的主邮箱和密码,然后点击apply应用

  • 在IDEA中设置Git,在File–>Setting–>Version Control–>Git–>Path to Git executable(或者直接搜索git就可以了)选择你的git安装后的git.exe文件,然后点击Test,测试是否设置成功,然后点击apply应用

  • 直接将本项目同步至码云(新建仓库)

    点击VCS然后选择Share Project on Gitee就可以提交到码云上面去了

  • 如果文件发生改动,在项目根目录(父工程)上右击,选择Git->Commit Directory进行提交,提交操作界面,需要你勾选文件,填写日志,并提示了差异对比,提交后颜色发生变化,现在push到远程仓库,码云发生变化


拉取代码

  • 可以使用git clone XXX,其中xxx是从码云仓库中克隆下载的https选项复制来的,之后使用idea打开就行了
  • 还有另外一种做法就是关闭项目,然后可以看到一个get from VCS,打开之后将https的链接粘贴在上面,之后选择项目位置,点击clone即可

企业团队协作

我们知道git除了我们个人记录代码外,更多的是在工作中使用。在前面2节课掌握最基础的操作后,接下来我们进入协作实战部分,每个公司都有自己的git协作流程,不同开发工具也有不同的git使用方式。由于Git提供的操作指令集非常庞大,但团队常规能使用到的可能也就30%左右,接下来的内容也就围绕这30%展开。

  • 企业使用的Git服务:自建Gitlab、Codeup、Gitee

  • 个人使用的Git服务:Gitee、GitHub

  • Git区域回顾

    Git按照大的分类分为3个区域,分别为:工作区、暂存区、Git仓库

    按照细分为5个区域,分别为:工作区、缓存区、贮存区、本地仓库、远程仓库

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值