Git学习与码云实战

Git学习与码云实战

Git安装

概述:

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

下载安装:

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

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

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

在这里插入图片描述

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

在这里插入图片描述

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

系统配置:

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

在这里插入图片描述

在命令行输入下列的命令:

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

name可以为中文,邮箱建议使用qq邮箱,方便记忆

生成SSH公钥,许多 Git 服务器都使用 SSH 公钥进行认证,所以我们也需要配置该公钥,百度搜索git ssh密钥生成 ,建议使用我给的命令

# 输入如下命令,三次回车即可生成 ssh key
ssh-keygen -t rsa -C "email@example.com"

常用命令

命令备注
git status查看仓库的改变情况,会有相关的提示操作出现
git add直接添加所有改动的文件
git commit -m “note”确认生成本地的版本,note是 版本特点说明
git push将改动上传到远程仓库,若没有指定分支,则需要使用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区域介绍

创建文件夹 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配置仓库

1、为什么要这么做?

若需要将本地仓库的代码同步更新到远程托管服务器,则需要与远程服务器建立通信授权连接,最常见的就是利用上述所生成的sshkey进行配置。

常见的托管平台有GitHub,GitLab(开源),码云,企业中也用该产品搭建企业的代码管理平台。

2、前置条件

  • 本地git已安装并配置了Git用户参数,本地已生成了SSHKey
  • 注册码云平台账号,建议采用QQ邮箱进行注册,方便记忆和密码找回

3、秘钥配置

  • 注册好码云后,进入设置中心,再点击SSH公钥

在这里插入图片描述

  • 在本机磁盘目录中,找到当前用户下的.ssh目录,并编辑其中的.pub结尾的文件,以记事本打开(或者你用其他的编辑器打开都可以)
    在这里插入图片描述
  • 将内容拷贝至码云中,拷贝后,标题能够自动识别,也可以自行修改

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 打开Git Bash终端输入如下命令进行连接测试
xiaohu@DESKTOP-16MTP3U MINGW64 /e/shujia/testjava/testgit (master)
$ ssh -T git@gitee.com
The authenticity of host 'gitee.com (180.97.125.228)' can't be established.
ED25519 key fingerprint is SHA256:+ULzij2u99B9eWYFTw1Q4ErYG/aepHLbu96PAUCoV88.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'gitee.com' (ED25519) to the list of known hosts.
Hi 小虎! You've successfully authenticated, but GITEE.COM does not provide shell access.

使用命令同步代码

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

a. 在本地磁盘中找一个目录,用于初始化本地仓库存放项目代码
在这里插入图片描述

b. 将项目拷贝到该目录下,与.git同级(项目不能为空文件夹)
在这里插入图片描述

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

在这里插入图片描述

d. 将项目提交至本地仓库,使用git commit -m 备注命令
在这里插入图片描述

e. 在码云上创建一个仓库壳子,用来存放待上传的项目
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注意:上述所复制的链接就是项目所在的仓库地址(我们使用SSH命令进行交互操作)

4、 将本地库与远程库关联

关联命令:git remote add origin git@gitee.com/xxxxxxx.git
在这里插入图片描述

5、远程仓库与本地仓库合并

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

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

在这里插入图片描述

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

在这里插入图片描述

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

命令

# push表示推送到远程分支
git push -u origin master

在这里插入图片描述

效果实例

刷新码云的远程仓库,能够看到如下结构
在这里插入图片描述

7、后续代码改动

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

执行add

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

执行commit

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

执行push

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

8、使用工具同步代码
在这里插入图片描述

如果修改代码后直接提交可以采用Git Commit -> "master",该操作中可以直接push

如果需要拉取远程分支上的代码,则可以点击TortoiseGit -> Pull

如果仅仅是推送代码到远程分支,则可以点击TortoiseGit -> Push

IDEA+Git(idea上传项目到gitee(码云)超详细_java写好的小游戏可以发布到gitee吗-CSDN博客)

1、在IDEA中设置Git,在File–>Setting–>Version Control–>Git–>Path to Git executable选择你的git安装后的git.exe文件,然后点击Test,测试是否设置成功

在这里插入图片描述

在这里插入图片描述

2、配置码云(gitee)

插件安装

由于IDEA没有直接码云,所以需要选择安装Gitee插件,找到Plugins,搜索Gitee,安装后重启
在这里插入图片描述

登录信息配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

直接将本项目同步至码云(新建仓库)
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

代码提交或更新

如果文件发生改动,我们可以采用3种方式进行同步更新

a. Git Bash命令

b. 小乌龟客户端工具

c. IDEA直接同步

这里我直接说IDEA的操作,下面中的蓝色文件已经被修改了,颜色不太一样,红色文件表示是没有版本控制的,绿色是我新建的
在这里插入图片描述

在项目根目录上右击,选择Git->Commit Directory进行提交

在这里插入图片描述

提交操作界面,需要你勾选文件,填写日志,并提示了差异对比
在这里插入图片描述

提交后颜色发生变化
在这里插入图片描述

现在push到远程仓库
在这里插入图片描述

查看信息后选择push

在这里插入图片描述

在这里插入图片描述

码云发生变化
在这里插入图片描述

总结

IDEA操作码云和使用工具或命令的原理差不多,均需要add,commit,push等操作,更新则采用pull,如果涉及到多人协同开发时,还会遇到更加复杂的操作,当工具内部无法处理这些功能的时候,我们可以借助系统中的小乌龟来完成

企业团队协作

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

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

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

  • Git区域回顾

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

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

这些功能的时候,我们可以借助系统中的小乌龟来完成

企业团队协作

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

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

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

  • Git区域回顾

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/554282.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

李彦宏:开源模型会越来越落后

李彦宏:开源模型会越来越落后 昨天听完的李总讲座 大家以前用开源觉得开源便宜,其实在大模型场景下,开源是最贵的。所以,开源模型会越来越落后。 ——李彦宏 至于开源还是闭源,这和企业的利益息息相关。 随着科技的迅猛…

双向链表详解

一.双向链表结构 我们一般所说的双向链表是带头循环双向链表,这里的带头更我们之前的头节点不是一回事。带头链表里的头节点,实际上为哨兵位,哨兵位的头节点种是不存放任何有效数据的,只是站在这里起到放哨的作用。 哨兵位的意义…

【C++从练气到飞升】08---模板

🎈个人主页:库库的里昂 ✨收录专栏:C从练气到飞升 🎉鸟欲高飞先振翅,人求上进先读书。 目录 一、泛型编程 什么是泛型编程: 二、函数模板 1. 函数模板概念 2. 函数模板格式 3. 函数模板的原理 4. 函数模板的实例…

Nginx part2.2

目录 如何用Nginx搭建多网址服务器? 基于ip地址的虚拟主机 1. 先建立存储网页的目录 2.进行子配置 3.编写.conf文件 基于端口号的虚拟主机 基于域名的虚拟主机 如何用Nginx搭建多网址服务器? 有些网站,ip不同,域名不同&…

格林兰岛和南极洲的流域边界文件下载

(1)南极流域系统边界和掩蔽区 下图显示了由戈达德冰面高程小组使用ICESat数据开发的南极分水岭。我们对西南极冰盖(系统18-23和1)、东南极冰盖(系统2-17)和南极半岛(系统24-27)的定…

案例与脚本实践:DolphinDB 轻量级实时数仓的构建与应用

DolphinDB 高性能分布式时序数据库,具有分布式计算、事务支持、多模存储、以及流批一体等能力,非常适合作为一款理想的轻量级大数据平台,轻松搭建一站式的高性能实时数据仓库。 本教程将以案例与脚本的方式,介绍如何通过 Dolphin…

LevelDB源码阅读笔记(1、整体架构)

LevelDB源码阅读笔记(1、整体架构) LeveDB源码笔记系列: LevelDB源码阅读笔记(0、下载编译leveldb) LevelDB源码阅读笔记(1、整体架构) 前言 对LevelDB源码的博客,我准备采用总…

ragflow知识库使用案例

参考: https://github.com/infiniflow/ragflow/blob/main/README_zh.md 支持丰富的文件类型,包括 Word 文档、PPT、excel 表格、txt 文件、图片、PDF、影印件、复印件、结构化数据, 网页等。 运行步骤: 1、确保 vm.max_map_count 不小于 262144 【更多】: 如需确认 vm.…

【大数据】分布式文件系统HDFS

目录 1.什么是分布式文件系统 2.HDFS的特点 3.HDFS的核心概念 4.HDFS的体系结构 5.HDFS的配置建议 6.HDFS的局限性 7.HDFS的存储机制 7.1.数据冗余机制 7.2.错误与恢复 8.HDFS数据读写过程 1.什么是分布式文件系统 分布式文件系统是整个大数据技术的基础&#xff0c…

单位个人信息宣传这样投稿审核轻松出稿快

在我担任单位信息宣传员的初期阶段,每月的对外信息宣传任务就像一座大山横亘在前,尤其是与媒体对接、投稿发表的工作,更是充满了挑战与艰辛。那段时光,我如同一个摸索前行的独行者,在浩瀚的媒体海洋中“摸着石头过河”。 我曾经花费大量的时间逐一查找各类媒体联系方式,通过电话…

短视频去水印解析接口 可测试

短视频解析聚合接口80多个热们短视频平台。可测试 接口开发文档: 返回格式: JSON 请求方式: GET/POST 示例请求地址:https://www.dspqsy.vip/spapi?keykey&url短视频url 请求参数说明: 字段必填类型说明url是…

良友:献上今天(打开心窗说亮话)- 情绪的秘密

目录 一 二 三 四 五 六 七 八 九 十 十一 十二 十三

C/C++中程序内存区域划分

总结C/C中程序内存区域划分 C/C程序内存分配的几个区域: 1. 栈区(stack):在执⾏函数时,函数内局部变量的存储单元都可以在栈上创建,函数执⾏结束时 这些存储单元⾃动被释放。栈内存分配运算内置于处理器的…

【Vue3】StoresTorefs:简化状态管理的实用工具

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

淘宝京东商品详情API接口:打造高效电商数据交互新体验

淘宝京东商品详情API接口:打造高效电商数据交互新体验 随着电商行业的迅猛发展,商家们对于商品详情数据的获取和更新需求日益增长。为满足这一需求,淘宝和京东两大电商巨头纷纷推出了商品详情API接口,为商家提供了高效、便捷的数…

uni-app 小兔鲜儿 Day 6(有作业)

​ 黑马程序员uni-app 小兔鲜儿 项目及bug记录&#xff08;下&#xff09; Day 6&#xff08;有作业&#xff09; 包含视频中提到的作业及最终琐屑代码 Day 6 填写订单页面 相关琐屑代码 <script setup lang"ts"> import { computed, ref } from vue impo…

玩转OurBMC第六期:OpenBMC之传感器配置及使用

栏目介绍&#xff1a;“玩转OurBMC”是OurBMC社区开创的知识分享类栏目&#xff0c;主要聚焦于社区和BMC全栈技术相关基础知识的分享&#xff0c;全方位涵盖了从理论原理到实践操作的知识传递。OurBMC社区将通过 “玩转OurBMC” 栏目&#xff0c;帮助开发者们深入了解到社区文化…

光纤和铜缆:了解不同通信媒介的优势

在现代通信技术中&#xff0c;光纤和铜缆是两种主要的数据传输媒介。它们各有优势和局限性&#xff0c;但都在我们的日常生活中扮演着不可或缺的角色。 左侧&#xff08;网络跳线&#xff09;右侧&#xff08;光纤跳线&#xff09; 一、光纤的原理与优势 ADOP光纤跳线 光纤通信…

LeetCode 1.两数之和(HashMap.containsKey()、.get、.put操作)

给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回…

U盘惊现USBC乱码文件?别担心,这里有救星!

在数字化时代&#xff0c;U盘作为便捷的数据存储工具&#xff0c;在我们的日常生活和工作中扮演着至关重要的角色。然而&#xff0c;有时我们可能会遭遇一个令人头疼的问题——U盘突然出现了USBC乱码文件。这些乱码文件不仅使得U盘中的数据无法正常读取&#xff0c;还可能意味着…