Git-git的使用、分支、本地仓与远程仓、idea中使用

news2024/10/7 18:27:11

Git

Git 简介

​ Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] 也是[Linus Torvalds](https://baike.baidu.com/item/Linus Torvalds/9336769)为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

在这里插入图片描述

Git的下载和安装

一、下载

  • 下载官网:https://git-scm.com/download
    在这里插入图片描述

在这里插入图片描述

二、安装

  • 傻瓜式安装:一路下一步。安装完成后在电脑桌面右击显示

在这里插入图片描述

  • Git GUI Here:图形界面工具
  • Git Bash Here:命令行工具

Git的基本配置

一、打开cmd命令窗口,进行全局设置

1、设置全局用户名和邮箱(管理员权限下)

git config --global user.name "your name"
git config --global user.email "your email"

在这里插入图片描述

2、查看配置信息

git config --list

在这里插入图片描述

本地仓库的相关操作

一、在本地初始化一个Git仓库

1、在电脑的任意位置创建一个空目录

2、进入这个目录中,点击右键打开Git bash窗口

3、执行命令

git init 

在这里插入图片描述

二、查看文件状态

git status 

在这里插入图片描述

三、将文件添加(修改)版本库

1、创建一个文件、将其添加到暂存区,然后才能到仓库中

在这里插入图片描述

2、添加单个文件到暂存区

git add readme.txt

在这里插入图片描述

3、将当前目录下所有修改添加到暂存区,除按照规则忽略的之外

git add .

在这里插入图片描述

  • 如果要将文件再次放入暂存区,该文件必须相对之前的版本要有改变才能放进去。
    • 修改文件内容

在这里插入图片描述

4、将暂存区中的文件,提交到仓库中

  • 如果暂存区有文件,则将其中的文件提交到仓库
  • 带评论提交,用于说明提交内容、变更、作用等
git commit -m 'your comments'

在这里插入图片描述

5、查看提交历史记录

  • 查看自己做过的提交,或者需要寻找某个具体的提交来查看当时的代码
  • 显示所有提交的历史记录
git log

在这里插入图片描述

  • 单行显示提交历史记录的内容
git log --pretty=oneline 

在这里插入图片描述

四、回退版本

1、查看版本的提交id

git reflog

在这里插入图片描述

2、回退到 commit_id 指定的提交版本

git reset --hard 'commit_id'

在这里插入图片描述

五、删除文件

git rm
  • 注意: git rm 只能删除已经提交到版本库中的文件。其他状态的文件直接用这个命令操作是出错的。

在这里插入图片描述

六、忽略文件

  • 一般在工作区中,并不是所有文件都需要纳入版本控制的。
  • 这种不需要进行版本控制的通常都是些自动生成的文件。
  • 比如:idea工程文件(springmvc.iml)、编译后 文件target、系统上传的图片img。
  • 在.git同目录下,运行touch .gitignore

在这里插入图片描述

分支

一、查看分支

1、查看本地分支

git branch # 查看相对详细的本地分支信息 
git branch -v

2、查看包括远程仓库在内的分支信息

git branch -av

在这里插入图片描述

二、创建分支

1、新建一个名称为 mary 的分支

git branch mary

在这里插入图片描述

三、切换分支

1、新建完 mary 分支以后,通过该命令切换到 mary 分支

git checkout mary

在这里插入图片描述

  • 注意
    • 当我们创建完分支以后,我们需要切换到新建的分支,否则,所有的修改,还是在原来的分支上。
    • 事实上,所有的改动,只能影响到当前所在的分支。

四、创建并切换分支

1、新建 tom 分支,并切换到该分支上

git checkout -b tom

在这里插入图片描述

五、合并分支

1、切换回 master 分支

git checkout master

2、将 tom 分支中的修改合并回 master 分支

git merge tom

在这里插入图片描述

  • 注意:
    • 分支修改文件中如果有换行的话会报错

六、删除分支

1、删除 mary 分支

git branch -d mary

在这里插入图片描述

远程仓库

一、注册账号

1、官网:https://gitee.com/

在这里插入图片描述

二、创建仓库

1、第一次创建

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

2、第n次创建

在这里插入图片描述

三、同步远程仓库

​ gitee支持“https”和“ssh”等方式。如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。而且如果是公司配置的私有git服务器一般不提供 https方式访问,所以我们要来着重演示“ssh”方式。

1、ssh配置,生成密钥

ssh-keygen  -t  rsa

在这里插入图片描述

2、执行命令完成后,在window本地用户.ssh目录C:\Users\用户名.ssh下面生成如下名称的公钥和私钥

在这里插入图片描述

3、配置

在这里插入图片描述

4、将远程仓库克隆到本地

git clone 地址
  • 注意:警告的含义是克隆了一个空的仓库

在这里插入图片描述

5、查看远程仓库

  • 查看配置好的远程仓库服务器,可运行 git remove 命令。
  • 该命令会列出 指定的每一个远程仓库服务器的简写
  • 若已克隆远程仓库,那至少应该看到 origin,这是 Git 克隆仓库服务器的默认名字
git remote -v

在这里插入图片描述

6、若有一个本地仓库,要发布到远程仓库

  • 为本地仓库添加远程仓库
  • 将本地仓库和远程仓库连接起来
  • 注意:远程仓库必须存在
git remote add origin your_remote_git_repo

在这里插入图片描述

7、推送本地内容到远程仓库

  • 本地仓库中,代码完成提交,就需推送到远程仓库,其他开发人员可从远程仓库同步内容

(1)将本地 master 分支推送到 origin 远程分支

git push -u origin master

git push origin master

(2)注意

git push -u origin master
  • git push -u origin master,第一次使用时,带上 -u 参数,在将本地的master分支 推送到远程新的 master分支的同时,还会把本地的master分支和远程的master分支关联起来

(3)推送前,需要 pull 远程仓库

  • 如果发现提交版本不一致,出现错误
    在这里插入图片描述

(4)在文件夹中在创建一个文件,并放入暂存区进行提交,推送到远程

在这里插入图片描述

8、从远程仓库获取最新内容

  • 多人协作中,当自己完成本地仓库中的提交,向远程仓库推送前,需要先获取到远程仓库的最新内容。
git fetch origin master
#或者
git pull origin master
  • git fetch :是仅仅获取远程仓库的更新内容,并不会自动做合并。
  • git pull:在获取远程仓库的内容后,会自动做合并
    • 可以看成git fetch之后git merge。

在这里插入图片描述

9、移除无效的远程仓库

git remote rm <shortname>
  • 注意:此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库

在这里插入图片描述

IDEA的Git操作

1、在GitHub/码云中创建远程仓库

2、将模块交给Git管理

在这里插入图片描述

  • 若上图失败,去配置如下内容
    在这里插入图片描述

3、配置忽略文件

在这里插入图片描述

4、先放到暂存区,再提交到本地仓库

  • 暂存区:add

在这里插入图片描述

  • 提交:commit

在这里插入图片描述

在这里插入图片描述

5、以白色为背景的git管理不同颜色的表示

(1)红色

  • 新创建的文件

(2)绿色

  • 暂存区中的文件

(3)黑色

  • 本地仓中的文件

(4)蓝色

  • 已经提交到本地仓中的文件发生了内容的改变

6、推送到远程仓库

  • 第一步

在这里插入图片描述

  • 第二步

在这里插入图片描述

7、本地仓库常见操作

(1)新建文件

(2)存入暂存区

(3)提交文件

(4)修改文件

(5)与最新版本做对比,解决冲突

(6)确定没有冲突后,再次提交

(7)从远程仓库克隆(只能克隆代码,项目的相关配置还是需要自行配置)

  • 第一步

在这里插入图片描述

  • 第二步

在这里插入图片描述

  • clone好的工程,需要进行相关配置

8、创建分支

  • idea 打开分支

在这里插入图片描述

(1)创建分支

在这里插入图片描述

(2)切换分支执行操作

在这里插入图片描述

(3)合并分支(先切换到master分支)

在这里插入图片描述

9、查看提交历史

  • 第一步

在这里插入图片描述

  • 第二步

在这里插入图片描述

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

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

相关文章

PyTorch Geometric (PyG) 库的安装

PyG 库的安装 前言1、PyG库的安装过程2、版本问题解决 前言 最近在学习图神经网络&#xff0c;需要用到PyG库&#xff0c;发现这个库的安装不能简单的使用pip install 安装&#xff0c;这里记录一下。 1、PyG库的安装过程 第一步&#xff1a;查看自己的torch版本和cuda版本 …

ASEMI代理HMC408LP3ETR原装ADI车规级HMC408LP3ETR

编辑&#xff1a;ll ASEMI代理HMC408LP3ETR原装ADI车规级HMC408LP3ETR 型号&#xff1a;HMC408LP3ETR 品牌&#xff1a;ADI/亚德诺 封装&#xff1a;QFN-16 批号&#xff1a;2023 引脚数量&#xff1a;16 工作温度&#xff1a;-40C~85C 安装类型&#xff1a;表面贴装型…

软件行业网络推广解决方案_上海添力

软件行业也属于B2B型的企业服务业务&#xff0c;由于这类企业都是轻资产&#xff0c;重人力&#xff0c;所以有个显著的特点就是公司再小&#xff0c;也会有健全的市场部&#xff1b;销售收入再少&#xff0c;也会在线上推广上大量投资&#xff0c;有的公司甚至把网络营销当成了…

vue 脚手架新手入门(vue cli 2)

文章目录 写在前面1、创建一个vue项目2、项目结构2.1、写两个页面试试2.2、代码解释 3、前后端对接3.1、使用 axios 发起简单请求3.2、 路由 的使用3.2.1、配置默认地址前缀3.2.2、添加子路由3.2.3、切换路由3.2.4、监听路由3.2.5、方法调用 与 页面刷新3.2.6、this.$route 获取…

Golang笔记:执行外部程序与Shell命令

文章目录 目的使用演示Cmd结构体总结 目的 程序中执行外部程序是比较常用的功能&#xff0c;Golang执行外部程序可以使用标准库中的 os/exec https://pkg.go.dev/os/exec 。这个包默认是用来执行外部程序的&#xff0c;可以通过调用Shell程序来执行Shell命令。这篇文章将对相关…

FastDFS集群搭建及StringBoot整合

简介 FastDFS是一个开源的轻量级分布式文件系统&#xff0c;它对文件进行管理&#xff0c;功能包括&#xff1a;文件存储、文件同步、文件访问&#xff08;文件上传、文件下载&#xff09;等&#xff0c;解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务&…

MySQL-5.56-MariaDB 转到MySQL-8.0.33过程笔记

MySQL-5.56-MariaDB 转到MySQL-8.0.33过程笔记 将MySQL 5中的数据导出并导入到MySQL8中在MySQL8中执行带有 GROUP BY的语句时会报错&#xff1a;同样的SQL查询语句&#xff0c;在MySQL5&#xff08;这里测试是5.5版本-MaraiaDB&#xff09;执行速度正常&#xff0c;但是在MySQL…

<IBM AIX> 《AIX中HA的网卡IP确认方法》

《HA网卡确认方法》 1 HA IP地址类型2HA IP地址设置原则3 HA网卡日常查看方法3.1 查看hosts文件3.2 查看网卡和IP 4 通过命令方式直接查看5 直接查看HA配置4 HA网卡SMIT查看方法&#xff08;暂不完整&#xff09;4.1 根据hosts文件确认IP对应的别名4.2 根据serviceIP确认Persis…

具有区域/边缘一致性的形状感知弱/半监督Disc and Cup状物分割

文章目录 Shape-Aware Weakly/Semi-Supervised Optic Disc and Cup Segmentation with Regional/Marginal Consistency摘要本文方法Modified Signed Distance Function (mSDF )Dual Consistency Regularisation of Semi-SupervisionDifferentiable vCDR estimation of Weakly S…

vue3+vite+多页面应用(MPA)示例

环境配置&#xff1a; 在硬盘里找个地方放项目内容&#xff1a;如&#xff1a;E:\vue3vitepros&#xff0c; 打开vscode,菜单》终端》新建终端&#xff0c;输入命令&#xff1a;cd E:\vue3vitepros 回车,然后依次运行下面命令&#xff1a; 1&#xff0c;安装vite:安装过的忽略此…

【开发必备】推荐几个非常好用的前端VsCode插件,快来看看你都用过哪些?

VSCode是前端开发的武器&#xff0c;下面给大家推荐几个必备的、非常好用的前端VsCode插件 1.Better Align Better Align就是一款能够实现代码规范的工具&#xff0c;它主要用于代码的上下对齐。它能够用冒号&#xff08;&#xff1a;&#xff09;、赋值&#xff08;&#xf…

Mybatis根据Bean生成对应的SQL语句工具类

Mybatis根据Bean生成对应配置SQL的语句 前言为什么不用MyBatis-PlusMybatis的困扰插入和更新查询 crud工具类MybatisCrudHelp.java 测试类需要注意的点 前言 在进入这一节知道MyBatis-Plus的人可能有人要问了&#xff1a;为什么我不用Mybatis-plus&#xff1f; 为什么不用MyB…

【JAVAEE】单例模式的介绍及实现(懒汉模式和饿汉模式)

目录 1.单例模式 1.1概念 1.2单例模式的实现方式 怎么去设计一个单例 饿汉模式 懒汉模式 懒汉模式-多线程版 解决懒汉模式多线程不安全问题-synchronized 解决懒汉模式多线程不安全问题-volatile 1.单例模式 1.1概念 单例是一种设计模式。 啥是设计模式 ? 设计模式…

机器学习——弹性网估计

机器学习——弹性网估计 文章目录 机器学习——弹性网估计[toc]1 模型介绍2 模型设定3 弹性网估计 1 模型介绍 弹性网估计属于惩罚回归&#xff0c;常见的惩罚回归包括岭回归(ridge)、套索回归(lasso)和弹性网(elasticnet)回归等。 岭回归用于缓解高维数据可能的多重共线性问…

aws exam

Route 53 Route 53 是AWS的一个服务&#xff0c;它的主要功能如下&#xff0c;下面会一一介绍每个功能 Domain registration&#xff08;域名注册&#xff09;DNS management&#xff08;DNS管理&#xff09;Health check&#xff08;健康检查&#xff09;Routing polices&am…

K8S系列之NetworkPolicy

什么是NetworkPolicy IP 地址或端口层面&#xff08;OSI 第 3 层或第 4 层&#xff09;控制网络流量&#xff0c; 则你可以考虑为集群中特定应用使用 Kubernetes 网络策略&#xff08;NetworkPolicy&#xff09;。 NetworkPolicy 是一种以应用为中心的结构&#xff0c;允许你设…

浅析EasyCVR视频汇聚技术在城市智慧文旅数智平台中的应用意义

一、背景分析 根据文化和旅游部4月21日公布的2023年一季度国内旅游数据情况抽样调查统计结果显示&#xff0c;2023年一季度&#xff0c;国内旅游总人次12.16亿&#xff0c;比上年同期增加3.86亿&#xff0c;同比增长46.5%。其中&#xff0c;城镇居民国内旅游人次9.44亿&#x…

消息和消息队列、以及作用场景(一)

“消息”是在两台计算机间传送的数据单位。消息可以非常简单&#xff0c;例如只包含文本字符串&#xff1b;也可以更复杂&#xff0c;可能包含嵌入对象。 “消息队列”是在消息的传输过程中保存消息的容器。 目前的消息队列有很多&#xff0c;例如&#xff1a;Kafka、RabbitMQ…

包装三年经验拿21K,试用期没过完就被裁了....

最近翻了一些网站的招聘信息&#xff0c;把一线大厂和大型互联网公司看了个遍&#xff0c;发现市场还是挺火热的&#xff0c;虽说铜三铁四&#xff0c;但是软件测试岗位并没有削减多少&#xff0c;建议大家有空还是多关注和多投简历&#xff0c;不要闭门造车&#xff0c;错过好…

Redis命令详解

Redis是一个高性能的内存键值数据库&#xff0c;它支持多种数据结构&#xff0c;包括字符串、哈希、列表、集合、有序集合等。Redis通过提供一组命令来实现对数据的操作&#xff0c;这些命令可以通过Redis客户端发送给Redis服务器&#xff0c;从而对数据库进行操作。 Redis的一…