Git GitHub Gitee

news2025/6/7 9:16:09

一、Git

是一个免费、开源的分布式版本控制系统。

版本控制:一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。它最重要的就是可以记录文件修改历史记录,从而让用户可以看历史版本,方便版本切换。

1.和集中式版本控制的不同:(好处)

  1.在服务器断网的时候也能开发(因为版本控制是在本地进行的),只是无法推送而已。

  2.每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)。

2.代码托管中心(远程库)

局域网:GitLab

互联网:GitHub(外网) Gitee 码云(国内)

在工作区写代码-》git add 添加暂存区(临时存储)-》git commit 提交本地库->远程库

3.安装

https://www.bilibili.com/video/BV1vy4y1s7k6?vd_source=2e59157694b34bea872c5ba2c5a5de9f&spm_id_from=333.788.player.switch&p=7

4.常用命令

# 设置全局用户名(签名)
git config --global user.name 你的用户名
# 设置全局邮箱
git config --global user.email 你的邮箱
#初始化本地库
git init
#查看本地库状态
git status
#添加暂存区
git add 文件名
#提交本地库
git commit -m "日志信息(可以写版本)" 文件名
#查看版本信息 即日志信息
git reflog
#查看详细的日志信息
git log
#版本穿梭
git reset --hard 版本号

注意:

  • 签名是为了区分不同操作者身份,签名信息在每一个版本提交信息中能够看到,依次确认本次提交是谁做的。Git首次安装必须设置用户签名,否则无法提交代码。

  • Git初始化完,在该项目所在文件夹下边有一个.git隐藏文件夹。

  • Git版本穿梭,本质上就是底层指针的移动。

5.分支操作

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着可以把自己的工作从开发主线上分离开来,开发自己分支的时候不会影响主线分支的运行。

对初学者而言,可以将其简单理解成副本,一个分支就是一个单独的副本。(分支底层也是指针的引用

同时并行推进多个功能开发,提高开发效率。

各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

#查看分支
git branch -v
#创建分支
git branch 分支名
#切换分支
git checkout 分支名
#合并分支
git merge 要合并的分支名
  • 产生冲突原因:合并分支的时候,两个分支在同一个文件的同一个位置有两套完全不同的修改。git无法决定使用哪一个,必须人为决定。

  • 解决冲突:删除不要的行,保证原来总行数不变,保存文件,添加暂存区,执行提交即可。(但此时提交不能带文件名,发现后面的merging消失,即当前所在分支合并成功)

  • 切换分支的本质就是移动head指针。

6.团队协作机制

  1. 团队内协作

  2. 跨团队协作

二、GitHub

1.创建远程库(直接'+'就好啦)

2.操作远程库

#创建远程库别名
git remote add 别名 远程地址
#查看当前远程别名
git remote -v
#推送
git push 别名 分支
#拉取远程库到本地库
git pull 别名 分支
#克隆远程库到本地
git clone 远程地址
  • 克隆代码不需要登录账号

  • clone会做如下操作:1.拉取代码 2.初始化本地库 3、创建别名(默认origin)

3.团队内协作

进入github-》settings-》manage access-》invite a collaborator

被邀请人复制邀请函 accept

4.跨团队协作

点击fork->pull requests->new pull request->create pull request->merge pull request

5.SSH免密登录

//在c盘用户目录下运行git终端 运行下面命令 连敲三个回车
ssh-keygen -t rsa -C 邮箱地址
  • 如果在这个地方没有找到且隐藏文件已经打开还是没有怎么办?

1.可能是没有执行成功。ls -al ~/.ssh 如果看到 id_rsaid_rsa.pub 文件,说明已有密钥。

ls -a ~/ # -a 参数显示所有文件(包括隐藏文件)两个命令都可

2.SSH 密钥生成在其他位置:cd ~ && pwd -W

这会显示 ~ 对应的 Windows 绝对路径(例如 C:/Users/lenovo),如果输出不是 C:/Users/lenovo,说明 Git Bash 的 ~ 映射到了其他位置。

3.修改 Git Bash 的 HOME 设置,修改 Windows 环境变量 HOME。在高级环境变量下,在用户变量部分,检查有没有HOME变量,如果存在,就修改为%USERPROFILE%;若不存在,可以 新建 一个 HOME 变量,值设为 %USERPROFILE%

  • 复制公钥到个人中心的settings-》SSH and GDP keys->如下界面 添加成功

三、idea集成git

1.配置Git忽略文件

  1. 在刚刚用户目录创建txt文件,重命名为git.ignore 内容如下所示

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

hs_err_pid*

.classpath
.project
.settings
target
.idea
*.iml
  1. 在git.config中添加保存

2.定位git程序

3.初始化&添加&提交

  1. 在终端git init 或者在idea的VCS里边点击create git repository

  2. 可以直接在项目根目录右键git-》add

  3. 同理,直接commit

4.切换版本

右下的两个指针,绿色的是当前分支的指针,黄色的是当前这个看到的界面的头指针

右键 找checkout那个选项

5.创建分支&切换分支&合并分支

四、idea集成GitHub

1.登录(账户密码或者使用token)

2.分享项目

VCS-》share project to github-》

3.推送拉取

右键git就有push pull

  • 注意:要想push成功,一定要保证本地库的版本要比远程库的版本高!也就是说,在修改本地代码之前,要先检查代码版本,如果本地版本已经落后,要先pull拉取远程库,在修改提交推送。

4.克隆代码到本地

五、码云(Gitee)

https://gitee.com/

1.注册登录&创建远程库(和上边的一样步骤)

2.idea集成

默认没有Gitee,需要下载

重启idea 在version下边就有了gitee

3.导入github项目

在新建仓库的时候什么都不用填,到最下边点击导入已有仓库,复制url地址(http协议)导入即可。

六、Gitlab

需要部署在服务器上

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

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

相关文章

PLSQLDeveloper配置OracleInstantClient连接Oracle数据库

PL/SQLDeveloper配置Oracle Instant Client连接Oracle数据库 文章目录 PL/SQLDeveloper配置Oracle Instant Client连接Oracle数据库 1. Oracle Instant Client下载与配置1. Oracle Instant Client下载2. Oracle Instant Client解压配置1. 解压2. 配置 2. PL/SQL Developer下载、…

【Oracle】触发器

个人主页:Guiat 归属专栏:Oracle 文章目录 1. 触发器基础概述1.1 触发器的概念与特点1.2 触发器的分类1.3 触发器的执行顺序 2. DML触发器2.1 基础DML触发器2.1.1 INSERT触发器2.1.2 UPDATE触发器2.1.3 DELETE触发器 2.2 高级DML触发器2.2.1 复合触发器2…

基于深度学习的无人机轨迹预测

完整代码见文末 随着无人机技术的不断发展,无人机在农业、物流、监控等领域的应用日益广泛。精准的轨迹预测不仅能够提高无人机飞行的效率和安全性,还能在应对复杂环境下的突发状况时做出迅速反应。因此,基于深度学习的无人机轨迹预测已成为…

git连接本地仓库以及gitee

参考:gitee创建新仓库并上传代码_gitee新建仓库导入代码-CSDN博客 git初始化以及添加git分支 在idea查看master主分支 报错 原因gitee推送更新失败问题记录:remote: error: hook declined to update refs/heads/master-CSDN博客 取消邮箱暴露

麒麟v10系统的docker重大问题解决-不支持容器名称解析

今天给客户在麒麟v10Kylin-Server-V10-SP1下安装nextcloudonlyoffice的时候出现无法连接onlyoffice的问题,经过分析找到了是docker版本过低的原因,现在把解决思路和步骤分享给大家。 一、问题 用一键安装工具,给客户装好了系统,Nextcloud可以正常访问 但是访问nextcloud中的o…

基于5G下行信号的模糊函数分析matlab仿真,对比速度模糊函数和距离模糊函数

目录 1.引言 2.算法仿真效果演示 3.数据集格式或算法参数简介 4.MATLAB部分程序 5.算法涉及理论知识概要 6.参考文献 7.完整算法代码文件获得 1.引言 模糊函数(Ambiguity Function, AF)是信号处理领域用于分析信号时频分辨能力的核心工具&#xf…

Redis 过期了解

Redis 版本:5.0 : 一:过期监听: Spring Data Redis 封装了 Redis 的 Pub/Sub 功能,提供了对 key 过期事件的监听支持。 1. 核心类:KeyExpirationEventMessageListener 这个抽象类是 Spring 提供的&#x…

JAVA理论-JAVA基础知识

1.Java 基础 知识 1.1 面向对象的特征(了解) 面向对象的特征:封装、继承、多态、抽象 封装:就是把对象的属性和行为(数据)结合为一个独立的整体,并尽量隐藏对象的内部细节,公开我希…

免费无限使用GPT Plus、Claude Pro、Grok Super、Deepseek满血版

渗透智能-ShirtAI,可以免费无限使用GPT Plus、Claude Pro、Grok Super、Deepseek满血版、除此之外还能免费使用AI搜索、Gemini AI、AI照片修复、AI橡皮擦、AI去背景、AI智能抠图、AI证件照、OCR识别、在线思维导图、在线绘图工具、PDF工具箱、PDF翻译。 传送入口&a…

SoloSpeech - 高质量语音处理模型,一键提取指定说话人音频并提升提取音频清晰度和质量 本地一键整合包下载

视频教程: 一个强大的语音分离和降噪软件 SoloSpeech 是由约翰霍普金斯大学、香港中文大学、南洋理工大学、清华大学及布拉格理工大学等多所高校共同主导开源的一个创新的语音处理项目,旨在解决在多人同时说话的环境中,准确提取并清晰呈现特定…

深入解析 Java ClassLoader:揭开 JVM 动态加载的神秘面纱

大家好,这里是架构资源栈!点击上方关注,添加“星标”,一起学习大厂前沿架构! Java 之所以能实现“一次编写,到处运行”,很大程度得益于其虚拟机(JVM)强大的跨平台能力。…

CICD实战(一) -----Jenkins的下载与安装

服务器IPJenkins192.168.242.153gitlab192.168.242.154 1、安装工具(可选,如果有就不需要安装) sudo yum install wget net-tools 2、关闭防火墙 #关闭防火墙(如果是云服务器部署,去安全组放通对应的端口即可) systemctl stop firewalld …

Devops系列---python基础篇二

1、列表 1.1 概念 格式: 名称 [ “元素1”,“元素2”,…] #定义一个列表 computer ["主机","键盘","显示器","鼠标"]类型方法用途查index(“元素”)查看元素索引位置count(“元素”)统计元素出现的次数reverse()倒序排…

​​TLV4062-Q1​​、TLV4082-Q1​​迟滞电压比较器应用笔记

文章目录 主要作用应用场景关键优势典型应用示意图TLV4062-Q1 和 TLV4082-Q1 的主要作用及应用场景如下: 主要作用 精密电压监测:是一款双通道、低功耗比较器,用于监测输入电压是否超过预设阈值。 集成高精度基准电压源(阈值精度1%),内置60mV迟滞功能,可避免因噪声导致的…

DHCP介绍

DHCP介绍 1 DHCP简述2 DHCP协议分析2.1 主要流程2.2 DHCP全部报文介绍2.3 IP租用更新报文2.4 DHCP协议抓包分析 3 DHCP应用3.1 DNSmasq参数配置3.2 DNSmasq框架代码3.2.1 创建socket监听67端口3.2.2 监听67端口3.2.3 处理DHCP请求 3.3 DNSmasq模块排障方法 4 常见问题排查4.1 问…

[蓝桥杯]耐摔指数

耐摔指数 题目描述 X 星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。 各大厂商也就纷纷推出各种耐摔型手机。X 星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。…

2024年第十五届蓝桥杯青少Scratch初级组-国赛—画矩形

2024年第十五届蓝桥杯青少Scratch初级组-国赛—画矩形 题目点下方,支持在线编程,在线获取源码和素材~ 画矩形_scratch_少儿编程题库学习中心-嗨信奥 程序演示可点下方,支持源码获取~ 画矩形-scratch作品-少儿编程题库…

JMM初学

文章目录 1,线程间的同步和通信1.1, 共享内存并发模型 (Shared Memory Model)线程通信机制线程同步机制特点 1.2, 消息传递并发模型 (Message Passing Model)线程通信机制线程同步机制特点 适用场景对比 2,Java内存模型JMM2.0,Java内存模型的基础(1)内存…

构建云原生安全治理体系:挑战、策略与实践路径

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:从传统安全走向“云原生安全” 随着企业 IT 架构从传统单体系统向容器化、微服务和云原生平台转型&#xf…

vcs仿真产生fsdb波形的两种方式

目录 方法一: 使用verilog自带的系统函数 方法二: 使用UCLI command 2.1 需要了解什么是vcs的ucli,怎么使用ucli? 2.2 使用ucli dump波形的方法 使用vcs仿真产生fsdb波形有两种方式,本文参考《vcs user guide 20…