快速上手Git

news2024/12/26 0:18:16

目录

一、Git概述

二、Git的常用命令 

Git全局配置

获取Git仓库 

基本概念 

本地仓库操作

远程仓库操作 

分支操作

标签操作 

三、在IDEA中使用Git 

在IDEA中配置Git

本地仓库操作

远程仓库操作 

分支操作 

冲突解决 


一、Git概述

Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml类、html页面等)。

通过Git仓库可以存储和管理这些文件,Git仓库分为如下两种:

  • 本地仓库:开发人员自己电脑上的Git仓库;
  • 远程仓库:远程服务器上的Git仓库

Git所具备的功能:

  • 代码回溯;
  • 版本切换;
  • 多人协作;
  • 远程备份; 

常用术语解释:

  • commit:提交,将本地文件和版本信息保存到本地仓库;
  • push:推送,将本地仓库文件和版本信息长传到远程仓库;
  • pull:拉取,将远程仓库文件和版本信息下载到本地仓库;

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

Git的代码托管服务,通常借助互联网上提供的一些代码托管服务来实现,比较常见的有Github、码云(gitee)、GitLab等

以使用码云的操作步骤为例:

  1. 注册码云账号;
  2. 登录码云;
  3. 创建远程仓库;
  4. 邀请其他用户成为仓库成员;

二、Git的常用命令 

Git全局配置

当Git安装成功后首先要做的是事情就是设置用户名称和邮箱地址,因为每次Git提交时都会使用该用户信息。

设置用户信息:

  • git config --global user.name "xx"
  • git config --global user.email "xx"

注意:上面的user.name和user.email并不是注册码云账号时使用的用户名和邮箱,此处可以任意设置。

查看配置信息:

  • git config --list

获取Git仓库 

获取Git仓库通常有两种方式:

  • 从本地初始化一个Git仓库;
  • 从远程仓库进行克隆;

从本地初始化一个Git仓库的基本步骤:

  1. 在任意目录下创建一个空目录作为本地的Git仓库
  2. 进入目录后,点击右键打开Git bash窗口
  3. 执行命令 git init

创建成功后文件夹就会增加一个.git文件夹,此文件夹是隐藏的项目

从远程仓库进行克隆:

命令形式:git clone "远程Git仓库地址"

基本概念 

版本库:之前创建的.git隐藏文件夹就是版本库,版本库中存储了许多配置信息、日志信息和文件版本信息等;

工作区:包含.git文件夹的目录就是工作区,主要用于存放开发的代码

暂存区:本地仓库中的一个特殊的文件(index) 叫做暂存区,临时存储我们即将要提交的文件

查看文件状态的命令:git status

Git工作区的文件存在两种状态:

untracked:未跟踪,未被纳入版本控制;

tracked:已跟踪,被纳入版本控制

        unmodified:未修改状态

        modified:已修改状态

        staged:已暂存状态

本地仓库操作

本地仓库的常见命令:

  • git status 查看文件状态
  • git add 将文件的修改加入暂存区
  • git reset 将暂存区的文件取消暂存或者是切换到指定版本
  • git commit 将暂存区的文件修改提交到版本库
  • git log 查看日志

远程仓库操作 

远程仓库的常见命令:

  • git remote 查看远程仓库
  • git remote add 添加远程仓库
  • git clone 从远程仓库克隆
  • git pull 从远程仓库拉取
  • git push 推送到远程仓库

分支操作

分支是Git 使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。

本地仓库和远程仓库中都有分支,同一个仓库可以有多个分支,各个分支相互独立,互不干扰。

通过git init 命令创建本地仓库时默认会创建一个master分支。

分支相关的一些常用指令如下:

  • git branch:查看分支
  • git branch 【name】:创建分支
  • git checkout 【name】:切换分支
  • git push 【shortName】 【name】:推送至远程仓库分支
  • git merge 【name】:合并分支
  • git branch -d 【name】:删除分支

标签操作 

Git中的标签指的是某个分支某个特定时间点的状态,通过标签,可以很方便地切换到标记时的状态。

标签的一些常见命令如下:

  • git tag:列出已有的标签
  • git tag 【name】:创建标签
  • git push 【shortName】【name】:将标签推送至远程仓库
  • git checkout -b 【branch】【name】:检出标签

三、在IDEA中使用Git 

在IDEA中配置Git

在IDEA中使用Git,本质上还是需要使用本地安装的Git软件,所以需要在IDEA中配置Git。

本地仓库操作

在IDEA中使用Git获取仓库有两种方式:

  • 本地初始化仓库
  • 从远程仓库克隆

本地初始化仓库(不同版本的Idea按钮位置不同):

会出现Git的工具栏:

在提交Git时一般只提交源码文件,所以在项目中可以创建一个.gitignore来进行配置不想提交的文件:

那么在git commit时就会忽略配置中的文件,那么就能选择要提交的文件并进行备注信息:

右击项目后点击Git就可以进行相关操作:

从远程仓库克隆:

远程仓库操作 

首先需要在远程先创建一个仓库,得到远程仓库的地址;

接着在idea中点击Git并选择Manage Remotes,然后在填入远程仓库地址:

如果提交就进行push:

如果需要更新则选择update按钮进行更新:

分支操作 

在IDEA中的分支一般出现在右下角:

关于分支的一些其他操作可以右击分支来选择:

冲突解决 

代码冲突是指在版本控制系统(如Git)中,当多个用户同时修改同一文件的同一部分时所产生的冲突。

那么在发生冲突之后就需要选择代码到底是使用那个版本了,就需要进行沟通确认

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

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

相关文章

探索设计模式的魅力:深入了解适配器模式-优雅地解决接口不匹配问题

设计模式专栏:http://t.csdnimg.cn/nolNS 目录 一、引言 1. 概述 2. 为什么需要适配器模式 3. 本文的目的和结构 二、简价 1. 适配器模式的定义和特点 定义 特点 2. 适配器模式的作用和适用场景 作用 适用场景 3. 适配器模式与其他设计模式的比较 三、适配…

DolphinScheduler + Amazon EMR Serverless 的集成实践

01 背景 Apache DolphinScheduler 是一个分布式的可视化 DAG 工作流任务调度开源系统,具有简单易用、高可靠、高扩展性、⽀持丰富的使用场景、提供多租户模式等特性。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方…

代码随想录算法刷题训练营day18

代码随想录算法刷题训练营day18:LeetCode(257)二叉树的所有路径、LeetCode(404)左叶子之和 LeetCode(257)二叉树的所有路径 题目 代码 import java.util.ArrayList; import java.util.List;/*** Definition for a binary tree node.* public class TreeNode {* …

媒体邀约:怎么吸引总体目标受众?

新闻媒体影响力日益扩大。不论是公司、机构还是其他,都希望能够通过新闻媒体的曝光来吸引更多总体目标受众。要想真正吸引住总体目标受众并非易事,需要一定的方案和方法。下面我们就深入探究媒体邀约推广的真相,共享怎么吸引总体目标受众的方…

挂耳耳机哪个牌子好?挂耳耳机产品的几大推荐

如果你也是个运动爱好者,那你一定知道边运动边听歌是多么的提神! 我试过好多种耳机,那些长长的线总在运动时不断甩来甩去,真是让人烦不胜烦。而且戴久了耳朵里也不舒服。所以找一款真正适合运动的挂耳耳机太重要了,它能让你的运动…

【Docker】docker Overlay2 文件系统原理

概述 overlayFS是被称为联合文件系统的其中一个解决方案。在2014年,发布了第一个版本并且合并到了Linux的内核3.18版本中,此时,在docker被称为是overlay文件驱动。后来在Linux 内核4.0 版本中进行了改进,称为overlay2。&#xff…

模拟堆

import java.util.Scanner;public class Main{static int N 100010, size,m;static int[] h new int[N]; //h[i]表示下标i这个点是第多少static int[] hp new int[N]; //hp[i]表示下标为i的节点是第几个被加进来的static int[] ph new int[N]; //ph[i]表示第i个加进来…

BIO、NIO变成与直接内存、零拷贝

一、网络通信 1、什么是socket? Socket 是应用层与 TCP/IP 协议族通信的中间软件抽象层,它是一组接口,一般由操作 系统提供。客户端连接上一个服务端,就会在客户端中产生一个 socket 接口实例,服务端每接受 一个客户端…

qt初入门7:进度条,定时器,时间控件练习

参考课本demo,空闲时间练习一下进度条,定时器,日期相关控件和使用。 1:demo运行结果 2:进度条控件梳理 进度条显示控件实际上是QProgressBar, 显示的进度可以通过代码控制,也可以通过其他控件上获取到的值…

Android SystemUI 介绍

目录 一、什么是SystemUI 二、SystemUI应用源码 三、学习 SystemUI 的核心组件 四、修改状态与导航栏测试 本篇文章,主要科普的是Android SystemUI , 下一篇文章我们将介绍如何把Android SystemUI 应用转成Android Studio 工程项目。 一、什么是Syst…

【K12】运用tk控件演示欧姆定律串联电阻小应用

上述代码是一个基于Python的图形用户界面(GUI)应用程序,用于演示欧姆定律。用户可以通过输入电阻值来计算电流,并在图形上显示结果。该程序使用了Tkinter库来创建GUI,matplotlib库来绘制图形,以及numpy库进…

使用git工具向GitHub远程仓库提交代码

注意更新仓库: 远程仓库更新方法: 本地仓库更新方法:在终端进入克隆的文件夹,依次执行如下指令: git config pull.rebase false //使用默认的合并策略 git pull //执行实际的拉取操作以下为常规操作&#xff…

【React教程】(3) React之表单、组件、事件处理详细代码示例

目录 事件处理示例1示例2示例3(this 绑定问题)示例4(传递参数)Class 和 Style 表单处理组件组件规则注意事项函数式组件(无状态)类方式组件(有状态)组件传值 Propsthis.props.childr…

bert提取词向量比较两文本相似度

使用 bert-base-chinese 预训练模型做词嵌入(文本转向量) 模型下载:bert预训练模型下载-CSDN博客 参考文章:使用bert提取词向量 下面这段代码是一个传入句子转为词向量的函数 from transformers import BertTokenizer, BertMod…

神经网络建立(结果可变)最小神经元

目录 介绍: 初始化: 建模: 预测: 改变结果: 介绍: 在深度学习中,神经元通常指的是人工神经元(或感知器),它是深度神经网络中的基本单元。深度学习的神经元模拟了生…

腾讯发表多模态大模型最新综述,从26个主流大模型看多模态效果提升关键方法

在大规模语言模型(LLMs)通往通用人工智能(AGI)的道路中,从传统的单一的“语言模态”扩展到“图像”、“语音”等等的“多模态”必然是大模型进化的必经之路。 在过去的 2023 年,多模态大规模语言模型&…

Java 与 JavaScript的区别

Java 与 JavaScript的区别 Java 与 JavaScript:概述Java的特点JavaScript 的起源JavaScript 的特点Java 与 JavaScript,哪个更好?JavaScript 与 Java 相似吗?Java 与 JavaScript 的区别JavaScript 在服务器端的运行方式是怎样的&a…

arco design table遇到的一些问题

问题1:不知情就成了树形table table中不知道为啥就多了个树形加号在前面,查找问题后发现,是后端返回的数据中有children,框架中默认对这个参数做了树形结构。 解决办法: 当时没找到取消或者修改字段的属性或方法&…

美赛违规被判作弊,注意这几种情况

每年都会有队伍被判为作弊或无效,无非就是买了思路、找了代做或不小心造成的。 下图是2023美赛评奖结果(MCM是前三题,ICM是后三题,去年疫情补办了春季赛),可以看到共1264个队被取消评奖资格(Di…