Git学习与码云实战

news2024/11/25 2:38:29

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个区域,分别为:工作区、缓存区、贮存区、本地仓库、远程仓库

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

diffusion model 简单demo

参考自: Probabilistic Diffusion Model概率扩散模型理论与完整PyTorch代码详细解读 diffusion 简单demo 扩散模型之DDPM 核心公式和逻辑 q_x 计算公式,后面会用到: 推理: 代码 import matplotlib.pyplot as plt import nump…

08-GPtimer

通用定时器 (GPTimer) 通用定时器简介 通用定时器可用于准确设定时间间隔、在一定间隔后触发(周期或非周期的)中断或充当硬件时钟。如下图所示,ESP32-S3 包含两个定时器组,即定时器组 0 和定时器组 1。每…

力扣练习题(2024/4/14)

1接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2…

vue3 -- 项目使用自定义字体font-family

在Vue 3项目中使用自定义字体(font-family)的方法与在普通的HTML/CSS项目中类似。可以按照以下步骤进行操作: 引入字体文件: 首先,确保你的字体文件(通常是.woff、.woff2、.ttf等格式)位于项目中的某个目录下,比如src/assets/font/。 在全局样式中定义字体: 在你的全局…

mysql常见语法操作笔记

1. 数据库的基本操作 1.1. MYSQL登录与退出 D:\phpstudy_pro\Extensions\MySQL5.7.26\bin 输入 mysql -uroot -proot -h127.0.0.1 退出的三种方法 mysql > exit; mysql > quit; mysql > \q; 1.2. MYSQL数据库的一些解释 注意:数据库就相当于文件夹 …

IDEA 控制台中文乱码 4 种解决方案

前言 IntelliJ IDEA 如果不进行相关设置,可能会导致控制台中文乱码、配置文件中文乱码等问题,非常影响编码过程中进行问题追踪。本文总结了 IDEA 中常见的中文乱码解决方法,希望能够帮助到大家。 IDEA 中文乱码 解决方案 一、设置字体为支…

挣钱新玩法,一文带你掌握流量卡推广秘诀

手机流量卡推广项目是什么?听名字我相信大家就已经猜出来了,就是三大运营商为了开发新用户,发起的有奖推广活动,也是为了长期黏贴用户。在这个活动中,用户通过我们的渠道,就能免费办理低套餐流量卡&#xf…

Obsidian 插件安装

方法一: Obsidian 最简单的插件安装当然是通过第三方插件库进行搜索,但是由于魔法上网的问题,经常连不上github,或者下载不了,导致插件无法安装。 方法二: obsidian 社区插件汇总:Airtable -…

【第三十一篇】Autorize插件安装使用教程(结合Burp实现越权实战案例)

Burp Suite是一款功能强大的渗透测试工具,被广泛应用于Web应用程序的安全测试和漏洞挖掘中。 本专栏将结合实操及具体案例,带领读者入门、掌握这款漏洞挖掘利器 读者可订阅专栏:【Burp由入门到精通 |CSDN秋说】 文章目录 前言安装教程使用教程垂直越权垂直越权实战注意前言 …

群晖 NAS rsync 远程文件同步

客户机是外网的 Windows 11,服务器是群晖。 客户机上安装 WSL Alpine Linux 来运行 rsync 进行文件下载。Alpine 相对比 Ubuntu、Debian,要小巧轻量,占用存储空间少,启动速度也很快。 一、安装 WSL Alpine Linux 在 Windows 中&…

scala---基础核心知识(变量定义,数据类型,流程控制,方法定义,函数定义)

一、什么是scala Scala 是一种多范式的编程语言,其设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。 二、为什么要学习scala 1、优雅 2、速度快 3、能融合到hado…

ADOP-400G光模块问题发布会

前沿光学(ADOP)400G光模块为客户提供各种超高密度的400G以太网连接方案,广泛应用于数据中心、企业网和服务提供商。 📣📣以下一些问题是我们新一代400G光模块常能遇见问题,所以我们决定在这里开一场小小的…

ubuntu22安装宝塔面板

方法一:运行安装宝塔命令 wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec 安装成功后,需到服务器管理后台的安全组中配置新规则,放行宝塔面板的端口(以阿…

基于SSM和vue的机票订购管理系统

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM和vue的机票订购管理系统2拥有两种角色 管理员:用户管理、机票管理、订票管理、公告管理、广告管理、系统管理、添加机票等 用户:登录注册、订票、查看公…

论文复现《SplaTAM: Splat, Track Map 3D Gaussians for Dense RGB-D SLAM》

前言 SplaTAM算法是首个开源的基于RGB-D数据,生成高质量密集3D重建的SLAM技术。 通过结合3DGS技术和SLAM框架,在保持高效性的同时,提供精确的相机定位和场景重建。 代码仓库:spla-tam/SplaTAM: SplaTAM: Splat, Track & Map 3…

MySQL表级锁——技术深度+1

引言 本文是对MySQL表级锁的学习,MySQL一直停留在会用的阶段,需要弄清楚锁和事务的原理并DEBUG查看。 PS:本文涉及到的表结构均可从https://github.com/WeiXiao-Hyy/blog中获取,欢迎Star! MySQL表级锁 MySQL中表级锁主要有表锁…

【简单介绍下PostCSS】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

如何实现在 Windows 上运行 Linux 程序?

在Windows 上运行Linux程序是可以通过以下几种方法实现: 1.使用 Windows Subsystem for Linux (WSL): WSL是微软提供的功能,可以在Windows 10上运行一个完整的Linux系统。用户可以在Microsoft Store中安装所需的 在开始前我有一些资料,是我根据网友给的…

SQL --索引

索引 INDEX 伪列 伪装起来的列,不容易被看见,要特意查询才能看见 ROWNUM: 是对查询结果自动生成的一组连续的自然数序号。 SELECT emp.*,ROWNUM FROM emp例题:查询emp表中,前三个员工 SELECT * FROM * from emp w…

Midjourney 实现角色一致性的新方法

AI 绘画的奇妙之处,实乃令人叹为观止!就像大千世界中,寻不见两片完全相同的树叶一般,AI 绘画亦复如是。同一提示之词,竟能催生出千变万化的图像,使得AI所绘之作,宛如自然之物般独特,…