Git常用命令以及如何在IDEA中使用Git

news/2024/12/5 13:21:11/

前言

Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等)。Git在管理文件过程中会记录日志,方便回退到历史版本;Git存在分支的概念,一个项目可以有多个分支(版本),可以任意切换;Git支持多人协作,即一个团队共同开发一个项目,每个团队成员负责一部分代码,通过Git就可以管理和协调;Git通过仓库管理文件,在Git中存在远程仓库,如果本地文件丢失还可以从远程仓库获取。

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

本地仓库:开发人员自己电脑上的 Git 仓库

远程仓库:远程服务器上的 Git 仓库

Git下载与安装

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

直接双击完成安装即可,安装完成后可以在任意目录下点击鼠标右键,如果能够看到如下菜单则说明安装成功:

Git GUI Here是打开Git 图形界面,一般不怎么使用。Git Bash Here是打开Git 命令行的。

Git代码托管服务

Git远程仓库可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。

gitHub:https://github.com/ ,一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub(网站在国外,访问速度很慢)

码云:https://gitee.com/ ,国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快(推荐)。

使用码云的操作流程如下:

  1. 注册码云账号

  1. 登录码云

  1. 创建远程仓库

  1. 邀请其他用户成为仓库成员(自己学习则可以忽略这一步),同仓库的成员可以pull 和push

Git常用命令

当安装Git后要设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。在Git 命令行中执行下面命令:

设置用户信息

git config --global user.name "xxxxx"

git config --global user.email "xxxx@xxx.xxx"

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

查看配置信息

git config --list

要使用Git对我们的代码进行管理,首先需要获得Git仓库。

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

在本地初始化Git仓库(不常用)

  1. 在任意目录下创建一个空目录作为我们的本地Git仓库

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

  1. 执行命令git init

如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功

从远程仓库克隆(常用)

可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地

命令格式:git clone 远程仓库地址

本地仓库常用命令

git status 查看文件状态(untracked 未跟踪(未被纳入版本控制)、Unmodified 未修改状态、Modified 已修改状态、Staged 已暂存状态)

git add 将文件的修改加入暂存区(命令格式:git add 文件名)

git reset 将暂存区的文件取消暂存或者是切换到指定版本(取消暂存命令格式:git reset 文件名;切换到指定版本命令格式:git reset --hard 版本号)

git commit 将暂存区的文件修改提交到版本库(命令格式:git commit -m 自己写的日志备注 文件名)【-m:代表message,每次提交时需要设置,会记录到日志中可以使用通配符*一次提交多个文件

git log 查看日志

远程仓库操作

git remote 查看远程仓库(后面添加-v参数查看远程仓库更加详细的信息)

git remote add 添加远程仓库(命令格式:git remote add 简称 远程仓库地址)

git clone 从远程仓库克隆(克隆仓库的命令格式: git clone 远程仓库地址)【Git 克隆的是该 Git 仓库服务器上的几乎所有数据(包括日志信息、历史记录等)】

git push(将本地仓库内容推送到远程仓库,命令格式:git push 远程仓库简称 分支名称)【如果是第一次操作,需要进行身份认证,用户名和密码对应的就是我们在码云上注册的用户名和密码】【一个仓库可以有多个分支,默认情况下在创建仓库后会自动创建一个master分支】

git pull从远程仓库获取最新版本并合并到本地仓库(命令格式:git pull 远程仓库简称 分支名称)

注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错,解决此问题可以在git pull命令后加入参数--allow-unrelated-histories.

分支操作

分支是Git 使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。本地仓库和远程仓库中都有分支,同一个仓库可以有多个分支,各个分支相互独立,互不干扰。通过git init 命令创建本地仓库时默认会创建一个master分支。

git branch 查看分支【

git branch 列出所有本地分支

git branch -r 列出所有远程分支

git branch -a 列出所有本地分支和远程分支

git branch [name] 创建分支【命令格式:git branch 分支名称】

git checkout [name] 切换分支【命令格式:git checkout 分支名称】(在命令行中会显示出当前所在分支)

git push [shortName][name] 推送至远程仓库分支【命令格式:git push 远程仓库简称 分支命令】

git merge [name] 合并分支【命令格式:git merge 分支命令】

分支合并时需注意合并的方向,例如在Master分支执行操作,结果就是将另一分支合并到Master分支。

标签操作

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

比较有代表性的是会使用这个功能来标记发布结点(v1.0 、v1.2等)。

git tag 查看标签

git tag [name] 创建标签【命令:git tag 标签名】

git push shortName 将标签推送至远程仓库【命令:git push 远程仓库简称 标签名】

git checkout -b branch 检出标签【检出标签时需要新建一个分支来指向某个标签,检出标签的命令格式:git checkout -b 分支名 标签名】

在IDEA中使用Git

在IEDA中配置Git,配置好后就可以在IDEA中通过图形化的方式来操作Git。

在IDEA中使用Git,本质上还是使用的本地安装的Git软件,所以需要提前安装好Git并在IDEA中配置Git。如果Git安装在默认目录中(C:\Program Files\Git),则IDEA中无需再手动配置,直接就可以使用。

在IDEA开始窗口中点击【Get from Version Control】,然后在弹出的【Get from Version Control】窗口中输入远程仓库的URL地址和对应的本地仓库存放目录,点击【Clone】按钮进行仓库克隆操作。

在Git工作区中有一个特殊的文件 .gitignore,通过此文件可以指定工作区中的哪些文件不需要Git管理。我们在使用Git管理项目代码时,并不是所有文件都需要Git管理,例如Java项目中编译的.class文件、开发工具自带的配置文件等,这些文件没有必要交给Git管理,所以也就不需要提交到Git版本库中。注意忽略文件的名称是固定的,不能修改。添加到忽略列表中的文件后续Git工具就会忽略它

IDEA右上角:

查看日志:右击(项目名称上右击则查看整个项目日志,某个文件上右击则查看某个文件日志):

一个本地仓库可以配置多个远程仓库,在【Git Remotes】窗口中点击【+】来添加一个新的远程仓库:

IDEA右下角:

在【Git Branches】分支窗口中点击【New Branch】可以创建一个分支。

关于切换分支,在某个分支上可以点击出来提示框,上面有Checkout的选项,然后将分支推送到远程仓库和进行分支的合并都是可以操作的,逻辑与之前命令方式一样,在IDEA中图形化操作更加简便。


http://www.ppmy.cn/news/26220.html

相关文章

华为OD机试 - 简易压缩算法(Python) | 机试题算法思路 【2023】

最近更新的博客 华为OD机试题 - 最短耗时(JavaScript) 华为OD机试题 - 机器人走迷宫(JavaScript) 华为OD机试 - 新员工座位安排系统(Python) | 机试题算法思路 华为OD机试 - 能力组队(Python) | 机试题算法思路 华为OD机试 - 内存池(Python) | 机试题算法思路 使用…

卷积神经网络(CNN)经典模型分析(一)

CNN经典模型分析🐬 目录: 一、CNN概论二、model分析LeNet5AlexNetVggNetGoogleNetResNet 三、参考资料 一、CNN概论 如图所示:人工智能最大,此概念也最先问世;然后是机器学习,出现的稍晚;最后才是深度学习…

智慧工地安全着装识别检测算法 python

智慧工地安全着装识别检测算法通过pythonopencv网络模型AI视频分析技术,人员安全着装识别检测算法对现场物体的不安全状态以及人员的不安全行为(不按要求着装)进行自动实时分析。由于Python 较为简单,一般无法进行复杂的后端搭建&…

【Linux】进程状态

文章目录1. 阻塞1. 举例2. 为什么要阻塞?3.操作系统层面上如何理解进程等待某种资源就绪呢?资源进程4. 总结2.挂起3.Linux进程状态1. R状态进程只要是R状态,就一定是在CPU运行吗?证明当前进程运行状态生成程序查看进程2. S休眠状态…

常用聚类算法分析

1. 什么是聚类 1.1. 聚类的定义 聚类(Clustering)是按照某个特定标准(如距离)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。也即聚类后同一类的数据尽可能聚集到一起…

【日刻一诗】

日刻一诗 1)LeetCode总结(线性表)_链表类 2)LeetCode总结(线性表)_栈队列类 3)LeetCode总结(线性表)_滑动窗口 4)LeetCode总结(线性表&#x…

华为OD机试 - 删除指定目录(Python) | 机试题算法思路 【2023】

最近更新的博客 华为OD机试 - 热点网络统计 | 备考思路,刷题要点,答疑 【新解法】 华为OD机试 - 查找单入口空闲区域 | 备考思路,刷题要点,答疑 【新解法】 华为OD机试 - 好朋友 | 备考思路,刷题要点,答疑 【新解法】 华为OD机试 - 找出同班小朋友 | 备考思路,刷题要点…

前端工程师leetcode算法面试必备-简单的二叉树

一、前言 本难度的题目主要考察二叉树的基本概念和操作。 1、基本概念 树是计算机科学中经常用到的一种非线性数据结构,以分层的形式存储数据。二叉树是一种特殊的树结构,每个节点最多有两个子树,通常子树被称作“左子树”和“右子树”。 …