Java技术学习|Git

学习材料声明

尚硅谷Git入门到精通全套教程(涵盖GitHub\Gitee码云\GitLab)

GIt

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。

1.Git的工作机制(下图缺少了代码托管中心的部分)

在这里插入图片描述

2.Git的常用命令

//查看版本号:
git --version
//设置用户签名 Git 首次安装必须设置一下用户签名,否则无法提交代码。
git config --global user.name 用户名 
//设置用户签名
git config --global user.email 邮箱 
//  初始化本地库
git init
//查看本地库状态
git status 
//添加到暂存区
git add 文件名 
//提交到本地库
git commit -m "日志信息" 文件名 
//查看历史记录 log是详细记录
git reflog 
// 版本穿梭
git reset --hard 版本号

3.Git分支操作

分支。branch。
在这里插入图片描述

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)。本质就是head指针指向分支指针,分支指针指向版本。

git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
git merge 分支名 把指定的分支合并到当前分支上//在本分支上合并别人的分支!!记住谁合并谁。

分支会尝试冲突,出现Merging,那就要手动修改冲突,然后再add和commit(执行提交(注意:此时使用 git commit 命令时不能带文件名))。

4.团队协作(对内对外,利用Github讲解)

在这里插入图片描述
在这里插入图片描述

4.1如何在github上创建远程库?

就是New resposity,然后创建就行。

git remote -v 查看当前所有远程地址别名
git remote add 别名 远程地址 起别名  //远程地址,github会给你,用http和ssh都可以
git push 别名 分支 推送本地分支上的内容到远程仓库
git clone 远程地址 将远程仓库的内容克隆到本地
git pull 远程库地址别名 远程分支名 将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并

4.2团队外的人如何进行一些贡献?

首先要fork,这样会在自己的账号下有一个远程库,clone到本地,然后修改push上去。觉得写好了,就pull request给原团队。
原团队会接收到,然后进行核对和与你进行必要的交流,之后原团队进行merge pull request的操作。

4.3SSH免密登录

在当前的用户的家目录。C盘-user-用户名

ssh-keygen -t rsa -C atguiguyueyue@aliyun.com //当初登录config设置的邮箱,连续三次回车。
cd .ssh //进入目录
cat id_rsa.pub //赋值内容

复制 id_rsa.pub 文件内容,登录 GitHub,点击用户头像→Settings→SSH and GPG keys

IDEA与GIt

1.IDEA操纵本地

  1. 需要创建git.ignore文件来使得不commit .idea或者target包下的影响跨平台或者与源码无关的文件。具体的配置流程看pdf。(写配置文件+在gitconfig里面配置)
  2. 在IDEA的setting-version-Git里面配置git.exx(这个好像IDEA会自己寻找,只要看一下版本对不对就好)
  3. 在菜单栏的VCS里面初始化 create Git Repository
  4. 正常的git add commit操作。
  5. 版本切换在IDEA下方的Version control 的Log里面,对应版本右击鼠标,checkout Revision。
  6. 新建分支,在右下角的master下, 切换版本checkout。
  7. merge操作,也在右下角完成。

2.IDEA集成GitHub或者码云(以GitHub为例,码云基本一致)

  1. 首先plugin对应的插件
  2. 在在IDEA的setting-version-GitHub添加账号(github建议使用token(具体如何获取看pdf,注意保存好token))
  3. VCS share project on github
  4. push (可以自己手动添加ssh方式)
  5. pull 每次开发前要先pull,保证在最新版本上进行开发
  6. clone

3.IDEA集成GitLab

GitLab 是由 GitLabInc.开发,使用 MIT 许可证的基于网络的 Git 仓库管理工具,且具有wiki 和 issue 跟踪功能。使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。
不能在windows上安装,如果不知道如何建立虚拟机和linux完全不懂,还是建议看韩顺平linux的前40p。
除了安装比较麻烦,其他的操作和集成GitHub一致。

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

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

相关文章

英伟达大跳水!一夜暴跌10%,市值蒸发2000亿

相信大家已经在各大社交平台上看到了,英伟达一夜蒸发了2000亿美元! GPT-3.5研究测试: https://hujiaoai.cn GPT-4研究测试: https://higpt4.cn Claude-3研究测试(全面吊打GPT-4): https://hic…

大语言模型隐私防泄漏:差分隐私、参数高效化

大语言模型隐私防泄漏:差分隐私、参数高效化 写在最前面题目6:大语言模型隐私防泄漏Differentially Private Fine-tuning of Language Models其他初步和之前的基线微调模型1微调模型2通过低秩自适应进行微调( 实例化元框架1) 在隐…

Vue2 —— 学习(九)

目录 一、全局事件总线 (一)全局总线介绍 关系图 对图中的中间商 x 的要求 1.所有组件都能看到 2.有 $on $off $emit (二)案例 发送方 student 接收方 二、消息订阅和发布 (一)介绍 &#xff08…

虚拟机中的打印机,无法打印内容,打印的是白纸或英文和数字,打印不了中文

原因:打印机驱动设置不正确 解决方案: 打开打印机属性 -> 高级 -> 新驱动程序 下一页 -> Windows 更新 耐心等待,时间较长。 选择和打印机型号匹配的驱动,我选择的是: 虽然虚拟机和主机使用的驱动不…

跨境电商指南:防关联浏览器和云主机有什么区别?

跨境电商的卖家分为独立站卖家和平台卖家。前者会自己开设独立站点,比如通过 shopify;后者则是入驻亚马逊或 Tiktok 等平台,开设商铺。其中平台卖家为了扩大收益,往往不止开一个店铺,或者有店铺代运营的供应商&#xf…

皇后之战:揭秘N皇后问题的多维解法与智慧【python 力扣52题】

作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 欢迎加入社区:码上找工作 作者专栏每日更新: LeetCode解锁1000题: 打怪升级之旅 python数据分析…

Go之map详解

map的结构 map实现的两个关键数据结构 hmap 定义了map的结构bmap 定义了hmap.buckets中每个bucket的结构 // A header for a Go map. type hmap struct {count int // 元素的个数flags uint8 // 状态标记,标记map当前状态,是否正在写入B …

css层叠性,继承性,优先级

前言 本文概要:讲述css的三大特性,层叠,继承和优先级。 层叠性 描述:我们试想以下这种情况:我们定义了同一个选择器,但是定义的属性不同。属性有相同的也有不同的,那么最后我们这个页面会听谁的…

CSS display属性

目录 概述: 设置display示例: none: block: inline: inline-block : 概述: 在CSS中我们可以使用display属性来控制元素的布局,我们可以通过display来设置元素的类型。 在不设置…

封装个js分页插件

// 分页插件类 class PaginationPlugin {constructor(fetchDataURL, options {}) {this.fetchDataURL fetchDataURL;this.options {containerId: options.containerId || paginationContainer,dataSizeAttr: options.dataSizeAttr || toatalsize, // 修改为实际API返回的数据…

ppt技巧:​如何将两个PPT幻灯片文件合并成一个?

第一种方式:复制粘贴幻灯片 1. 打开第一个PPT幻灯片文件,确保你已经熟悉该文件的内容和布局。 2. 打开第二个PPT幻灯片文件,浏览其中的所有幻灯片,选择你想要合并到第一个文件中的幻灯片。 3. 使用快捷键CtrlC(Wind…

虚拟ip地址怎么弄到手机上

在当下的社会,手机已经变得至关重要,它融入了我们的日常生活,无论是上网冲浪、社交互动,还是工作学习,都离不开它。但有时候,由于某些限制,我们可能无法充分享受网络带来的便利。这时&#xff0…

Nginx part2.1

目录 搭建目录网页 为网页设置用户登录 做一个文件目录网页,并进行登陆 示范 搭建目录网页 启动nginx: systemctl start nginx 开机自启动nginx: systemctl enable nginx 启动完服务后,查看自己的nginx的状态:sys…

【JavaWeb】Day47.Mybatis基础操作——删除

Mybatis基础操作 需求 准备数据库表 emp 创建一个新的springboot工程,选择引入对应的起步依赖(mybatis、mysql驱动、lombok) application.properties中引入数据库连接信息 创建对应的实体类 Emp(实体类属性采用驼峰命名&#xf…

【C++提高】常用容器

常用容器 引言:迭代器的使用一、vector容器1. vector基本概念2. vector的迭代器3. vector构造函数4. vector赋值操作5. vector容量和大小6. vector插入和删除7. vector数据存取8. vector互换容器9. vector预留空间 二、deque容器1. deque容器的基本概念2. deque容器…

python免费调用阿里云通义千问(q-wen-max)大模型API

文章目录 通义千问开通免费API Keypython调用阿里云通义千问API 通义千问 通义千问,是基于阿里巴巴达摩院在自然语言处理领域的研究和积累。采用更先进的算法和更优化的模型结构,能够更准确地理解和生成自然语言、代码、表格等文本。 支持更多定制化需…

HarmonyOs开发:导航tabs组件封装与使用

前言 主页的底部导航以及页面顶部的切换导航,无论哪个系统,哪个App,都是最常见的功能之一,虽然说在鸿蒙中有现成的组件tabs可以很快速的实现,但是在使用的时候,依然有几个潜在的问题存在,第一&a…

GRAF: Generative Radiance Fields for 3D-Aware Image Synthesis

GRAF: Generative Radiance Fieldsfor 3D-Aware Image Synthesis(基于产生辐射场的三维图像合成) 思维导图:https://blog.csdn.net/weixin_53765004/article/details/137944206?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3…

THREEJS 使用CatmullRomCurve3实现汽车模型沿着指定轨迹移动

效果预览 准备所需资源 搭建场景环境 const container document.querySelector("#box_bim");// 创建摄像机camera new THREE.PerspectiveCamera(50,window.innerWidth / window.innerHeight,0.1,1000);// camera.position.set(500, 500, 500);// 调整近裁减值camer…

深入剖析图像平滑与噪声滤波

噪声 在数字图像处理中,噪声是指在图像中引入的不希望的随机或无意义的信号。它是由于图像采集、传输、存储或处理过程中的各种因素引起的。 噪声会导致图像质量下降,使图像失真或降低细节的清晰度。它通常表现为图像中随机分布的亮度或颜色变化&#…