Git命令Gitee注册idea操作git超详细

文章目录

  • 概述
  • 相关概念
  • 下载和安装
  • 常见命令
  • 远程仓库介绍与码云注册创建
    • 介绍
    • 码云注册
    • 远程仓库操作
      • 关联
      • 拉取
      • 推送
      • 克隆
  • 在idea中使用git
    • 集成
    • add和commit
    • 差异化比较&查看提交记录
    • 版本回退及撤销
    • 与远程仓库关联 push
    • 从远程仓库上拉取,克隆项目到本地
    • 创建分支
    • 切换分支
    • 将除了master分支推送到gitee上
    • 将其他分支代码合并到master分支上并上传提交
    • 处理版本冲突

概述

Git是目前世界上最先进的分布式文件版本控制系统
版本控制:所谓的版本控制就是将一组文件的改动记录下来,形成版本历史,以便需要恢复
作用
1、代码共享:每位开发者可以使用Git将自己的代码上传到云服务器上,同时使用Git还可以将其他人上传的代码下载到自己的电脑上,这样实现了代码共享
2、回溯版本:Git会保存每次上传的痕迹,每上传一次就做一次备份,每次备份就相当于一个版本,任意时间可以通过Git查询曾经提交过的每一个版本对应的内容。
3、追踪信息:Git提供了强制记录日志的功能,每次上传信息都要求写日志,可以记录本次上传的相关信息

相关概念

Snipaste_2024-05-07_09-02-13.png

  • 工作区:就是平时存放代码的地方
    • 一个文件夹通过git init设置成一个git可以管理的文件夹,这个文件夹中的内容(除.git文件夹)就是工作区
  • 版本库:就是安全存放数据的位置,这里面有提交到所有版本的数据
    • 其中HEAD指向最新放入仓库的版本
    • 工作区的隐藏目录.git,它不算工作区,而是版本库
  • 暂存区:index,用来暂时存放工作区中修改的内容。在加入到本地仓库前,会先放置在暂存区
    • 一般存放在.git/index文件中
  • HEAD:指向最新放入仓库的版本
  • master:是我们的主分支,是本地仓库的一部分
    • 当我们git init后,并不会立刻产生分支,而是我们添加了一个文件,并git add,git commit后这时我们查看分支情况便可以看到master分支了
  • objects:是git对象库,是用来存储各种创建的对象和内容
  • 远程仓库:托管代码的服务器,常用github,gitee,gitlab

下载和安装

下载地址:https://git-scm.com/download
安装过程非常简单,直接next
Snipaste_2024-05-07_09-20-41.png
点击Finish完成安装,验证安装,找一个桌面空白处,右键出现下列窗口
Snipaste_2024-05-07_09-21-44.png

常见命令

创建一个文件夹,右键然后点击Git Bash here

  1. 初始化工作区:git init
  2. 查看当前工作区的代码文件状态:git status
    1. 红色代表未放到暂存区
    2. 绿色代表放到暂存区
  3. 将工作区的代码文件提交到暂存区:git add 文件名
  4. 将暂存区的代码文件提交到本地仓库:git commit -m ‘提交信息’
  5. 差异化比较
    1. 工作区和暂存区:git diff 文件名
    2. 暂存区和本地仓库:git diff --cached 文件名
    3. 工作区和本地仓库:git diff HEAD 文件名
  6. 查看提交日志:git log/git reflog
    1. git reflog:特点是查看的提交版本号比较短
  7. 版本回退:回退哪个版本
    1. 回退到上一个版本(提交位置):git reset --hard HEAD^
    2. 回退到指定版本:git reset --hard 版本号
  8. 撤销工作区:git checkout 文件名
  9. 将代码从暂存区撤销到工作区:git reset HEAD 文件名
  10. 分支:
  11. 创建分支:git branch 分支名
  12. 查看分支:git branch
  13. 切换分支:git checkout 分支名
  14. 合并分支:git merge 分支名
  15. 删除分支:git branch -d 分支名

:合并分支

  1. 如果将其他分支合并到master主分支上,那么需要切换到master上
  2. 如果将dev分支合并到主分支master上,那么必须在dev分支上进行commit提交到本地仓库

远程仓库介绍与码云注册创建

介绍

远程仓库是公网或外网中的一个仓库,主要用于存储个人或团队的提交记录与提交日志,团队开发也是靠远程仓库实现的。大家把东西提交到同一个远程仓库里面就ok了,这样每个人都可以获取到团队内开发的所有内容了。
常用的远程仓库

  • github:https://github.com
    • 主站在国外,速度一般
  • gitee:https://gitee.com
    • 码云,速度快,是开源中国推出的基于Git的代码托管平台
  • gitlab:https://about.gitlab.com
    • 可以搭建一个web服务器,私服安全

码云注册

访问地址:https://gitee.com

  1. 没有账号的按要求注意并登录
  2. 创建仓库

Snipaste_2024-05-07_13-47-52.png

  1. 填写对应信息

image.png

  1. 复制远程仓库的地址

image.png

远程仓库操作

关联

在推送到码云仓库前,需要先建立本地仓库与远程仓库的关系
命令:git remote add origin 远程仓库地址

拉取

从码云仓库拉取到本地仓库,在推送代码前必须先拉取代码,否则无法推送本地仓库代码到码云仓库
命令:git pull origin master --allow-unrelated-historities
首次拉取需要添加:–allow-unrelated-histories
后续拉取:git pull

推送

本地仓库到码云仓库
首次推送:git push -u origin master
后续推送:git push

克隆

如果我们新加入一个团队,这个时候就需要我们把代码从远程仓库克隆过来,先新建一个文件夹,在新的文件夹中鼠标右键点击Git bash Here,输入下面命令
命令:git clone 远程仓库地址
克隆和拉取的区别

  • 相同点:都是从远程服务器拉取代码到本地
  • 不同点:
    • 克隆:是本地没有版本库时,从远程服务器克隆到整个版本库到本地,是一个本地从无到有的过程
    • 拉取:在本地有版本库的情况下,从远程库获取最新commit数据,并merge到本地

在idea中使用git

集成

  1. 点击idea中File->settings
  2. 弹出settings后在搜索中输入"git",选择Git,指定你的安装的git.exe目录

Snipaste_2024-05-07_14-28-09.png

  1. 校验git是否集成完成,点击test,弹出校验窗口,点击git Executed successed 成功则表示集成完成

image.png

  1. 创建工程

image.png

  1. 初始化工作区:点击VCS->Create Git Reposity

image.png

  1. 选择管理的文件夹,这里我现在的为gitProject文件夹

image.png

  1. 点击左下角,Git菜单,此时day0901_git下所有的文件都变成棕色,说明我们的工作区添加完成了

image.png

  1. 忽略文件类型

image.png
办法:将.gitignore文件复制到项目的根目录

add和commit

  1. 工作区提交暂存区 add

image.png
颜色变为绿色

  1. 暂存区提交到本地仓库 commit

image.png
image.png
image.png
image.png
image.png

差异化比较&查看提交记录

工作区和本地仓库比较
image.png
image.png
image.png
查看记录
image.png

版本回退及撤销

先修改java文件,提交俩次,总共有三次提交记录
本地仓库回退撤销

  1. 点击git->log查看3个提交的版本

image.png

  1. 现在在本地仓库中回退到第二次提交,选择第二次提交的标记

image.png

  1. 选择Hrad

image.png

  1. 回退成功

image.png
工作区撤销

  1. 当我们在工作区编辑代码时候,希望撤销未提交本地仓库的代码时候,在Git中右键

image.png

  1. 点击rollback

image.png

  1. 撤销成功

image.png
说明:针对上述工作区的代码撤消,有同学会有疑问,我直接删除不就完了吗,为什么这么麻烦,其实我们在实际开发中代码会很多,那么当你书写了很多不同地方的代码,以至于你都忘记哪些是新编写的代码了,那么删除是一件很痛苦的事情,并且容易误删,所以使用工作区撤销更加方便。

与远程仓库关联 push

上面已经创建了远程仓库,接下来用idea与远程仓库关联

  1. 点击推送

image.png

  1. 点击Define remoteimage.png
  2. 输入上面复制的远程仓库地址

image.png

  1. 选择提交

image.png
关联远程仓库

  1. Git—>Manage Remotes …

image.png

  1. 点击弹出窗口中的+

image.png

  1. 将复制的远程仓库地址复制到url中
  2. 成功关联

image.png

从远程仓库上拉取,克隆项目到本地

拉取

  1. 先在gitee上复制要导入项目的连接地址
  2. 点击项目->Git->pull

image.png

  1. 如果没有master按ctrl+F5

image.png
第一次拉取失败

  1. 点击右下角master

image.png

  1. 右击选择下面图中

image.png

  1. 点击merge

image.png

  1. 点击红色箭头,最后点击apply

克隆

  1. 点击git->clone

image.png

  1. 填写地址和存放项目位置

image.png

  1. Trust Project或者New Window
  2. 导入之后查看当前项目在idea中的三个环境

maven地址 File->settings
image.png
idea环境必须都是utf-8编码
image.png
当前使用的jdk8
image.png

创建分支

image.png
创建到本地分支上

切换分支

  1. 将gitee中所有的分支拉取到idea中

image.png

  1. 在idea中查看本地和远程分支

image.png

  1. 切换到dev1分支上

  1. 我们不能在master分支上进行书写代码,都是在每个分支上写代码,然后最后确定没问题之后再将其他分支上的代码合并到master代码上
  2. 在切换其他分支之前必须先将当前分支的代码进行提交,否则当前分支的代码就不存在了

提交当前分支的代码
看上面commit
切换分支
image.png

将除了master分支推送到gitee上

和上面一样,有个简化的是中间commit和push
image.png
image.png
注意:推送的一定是dev1分支上的代码,如果推送的是master分支上的代码就会报错。

将其他分支代码合并到master分支上并上传提交

要想将dev1分支代码合并到master分支上,首先需要切换到master分支上,然后在合并

  1. 将dev1分支上的代码提交
  2. 切换到本地master分支

image.png

  1. 将dev1分支代码合并到master分支上

image.png

  1. 将master分支上的代码提交并推送到gitee上

image.png

处理版本冲突

当多个用户对同一个文件交叉修改的时候就尴尬了。A修改完提交一个,B修改完又提交一个,这个时候A修改完提交,问题来了,如果A提交成功,那么就相当于忽略了B提交的内容。这个时候就要强制你去处理一下这个问题,这就是我们所说的冲突问题。

  1. 先拉取代码,这时候App的类变成红色,且弹出窗口,需要手动进行合并

image.png

  1. 解决冲突

image.png

  1. 选择主干

image.png

  1. 推送到远程仓库

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

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

相关文章

Linux实操之常用指令详解

文章目录 vi 和 vimvi 和 vim 基本使用 开机、重启和用户登录注销关机&重启命令用户登录和注销 用户管理基本介绍基本语法细节说明修改密码删除用户查询用户信息指令切换用户查看当前用户/登录用户用户组 实用指令指定运行级别帮助指令文件目录类时间和日期类搜索查找类压缩…

分析错误ValueError: could not determine the shape of object type ‘Series‘

这个错误提示 ValueError: could not determine the shape of object type Series 通常发生在尝试将 pandas 的 Series 直接转换为 PyTorch 的 tensor 时,尤其是当 Series 的数据类型不明确或者包含非数值类型的数据时。为了修正这个问题,确保在转换之前…

C++细节,可能存在的隐患,面试题03

文章目录 11. C编译过程12. const vs #define12.1. 全局const vs 局部const 13. C内存分区14. C变量作用域14.1. 常量 vs 全局变量 vs 静态变量 15. C类型转换16. 函数指针17. 悬空指针 vs 野指针18. 为什么使用空指针,建议使用nullptr而不是NULL? 11. C…

深度学习之基于Matlab卷积神经网络验证码识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着互联网的发展,验证码作为一种常用的安全验证手段,被广泛应用于各种网站和…

酸奶(科普)

酸奶(yogurt)是一种酸甜口味的牛奶饮品,是以牛奶为原料,经过巴氏杀菌后再向牛奶中添加有益菌(发酵剂),经发酵后,再冷却灌装的一种牛奶制品。市场上酸奶制品多以凝固型、搅拌型和添加…

CRC校验原理及步骤

文章目录 CRC定义:CRC校验原理:CRC校验步骤: CRC定义: CRC即循环冗余校验码,是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC&#…

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Date/Time Edit的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 输入类控件 | Spin Box的使用及说明 文章编号&#xff1…

2024五一劳动节活动策划方案

2024五一劳动节打工人青松游园大会(劳动节放青松主题)活动策划方案-51P.pptx 活动策划信息: 方案页码:51页 文件格式:PPT 方案简介: 劳动是世界上最伟大的事 所以我们该把一些劳动留给明天&#xff0…

Vue阶段练习:初始化渲染、获取焦点、记账清单

阶段练习主要承接Vue 生命周期-CSDN博客 ,学习完该部分内容后,进行自我检测,每个练习主要分为效果显示、需求分析、静态代码、完整代码、总结 四个部分,效果显示和准备代码已给出,我们需要完成“完整代码”部分。 练习…

Qt---day2-信号与槽

1、思维导图 2、 拖拽式 源文件 #include "mywidget.h" #include "ui_mywidget.h" MyWidget::MyWidget(QWidget *parent) : QWidget(parent) , ui(new Ui::MyWidget) { ui->setupUi(this); //按钮2 this->btn2new QPushButton("按钮2",th…

一键静音,iPhone勿扰模式助你远离干扰

在现代社会的快节奏生活中,我们时常被各种各样的通知、铃声和提示音所打扰,无法专注地工作或享受宁静的时光。而iPhone的勿扰模式功能,就像是一位贴心的助手,能够一键帮你屏蔽这些干扰,让你在需要的时候拥有一个清静的…

MyBatis入门例子

1、建立与数据库对应的POJO类 2、建立mybatis的配置文件 修改后如下: 3、创建POJO对象和Mysql数据的表之间的映射配置 4、建一个测试方法 实现从数据库中取数一条数据,封装成User对象返回 注意点: 这点,大家应该不陌生了&#x…