Idea中的git命令使用详解(包括现象含义)

 更新时间:2024年08月29日 10:30:41   作者:执键行天涯  
本文带领大家梳理在idea中常用的git命令,对idea git命令使用相关知识感兴趣的朋友跟随小编一起看看吧

梳理记录一下,在IDEA中常用的git命令,希望能帮到小伙伴们~

命令1:查看当前所处分支:

D:\workspace\IdeaProjects\guliMall>git branch

现象:会显示出来当前所有的分支,并且当前分支会有特殊显示,前面带*标识

命令2:拉取最新代码:

D:\workspace\IdeaProjects\guliMall>git pull

现象1:这是远程分支没有更新的内容,所有没拉取到更新

现象2:这是代表 从远程拉取到了一些代码更新,其中fast-forward的更新的内容,其中绿色加号的代表一共有55处新增,红色的代表删除了一共有7处修改,有新增有删除

命令3:切换分支:

git checkout dev

现象1:代表本地从当前分支切换到dev分支;下面的提示代表已经成功切换到,并且切换后的dev分支内容和远程分支内容一致;

witched to branch 'master'
Your branch is up to date with 'origin/master'.

提示解释:这条信息表示你已经成功切换到了名为 ‘master’ 的分支,并且这个分支与远程仓库(origin)中的 ‘master’
分支是同步的,即你的本地 ‘master’ 分支是最新的,没有落后于远程仓库的 ‘master’ 分支。

在Git中,分支是用来并行开发不同功能的工具。‘master’
分支通常被用作主分支,包含稳定且可发布的代码。当你需要开始一个新的功能开发或修复一个bug时,你可能会创建一个新的分支来工作,以避免影响主分支的稳定性。完成工作后,你可以将这个新分支合并回
‘master’ 分支,或者将 ‘master’ 分支的更新合并到你的分支中,以保持代码的同步。

这条信息告诉你,你现在正在 ‘master’
分支上工作,并且这个分支是最新的,没有需要拉取的更新。如果你想要开始新的工作,你可能需要创建一个新的分支;如果你只是想确保你的
‘master’ 分支是最新的,那么你已经完成了这一步。

现象2:切换的分支名称错误

**现象3:**比如当前是dev分支,我切换到test分支之后,提示
Switched to branch ‘feature-20240828-test’
Your branch is ahead of ‘origin/feature-20240828-test’ by 4 commits.
(use “git push” to publish your local commits)
这条信息表示你已经成功切换到了名为 feature-20240828-test 的分支,并且这个分支在你的本地有4个提交是领先于远程分支 origin/feature-20240828-test 的。这意味着你在本地对这个分支做了一些修改(比如增加了新功能、修复了bug等),并且这些修改还没有被推送到远程仓库中。

针对于现象3中的情况,
如果你想要将这些修改分享给其他人,或者确保你的修改在远程仓库中得到保存,你需要执行 git push 命令。这个命令会将你本地的修改推送到远程仓库的 feature-20240828-test 分支上。

git push origin feature-20240828-test

执行 git push 时,你可能会遇到几种情况:

  • 成功推送:如果远程仓库的 feature-20240828-test 分支没有其他人的提交,或者即使有,Git 能够自动合并这些提交,那么你的推送将会成功。
  • 合并冲突:如果远程仓库的 feature-20240828-test 分支在你推送之前已经有了新的提交,并且这些提交与你本地的提交有冲突,Git 会阻止你推送,并要求你先解决这些冲突。这通常涉及到拉取远程仓库的最新更改(git pull 或 git fetch 后合并),解决任何冲突,然后再次尝试推送。
  • 权限问题:如果你没有足够的权限向远程仓库推送更改,Git 会显示一个错误消息。在这种情况下,你需要联系仓库的管理员来获取必要的权限。

注意:在git push命令时 ,明确指定远程仓库和分支是一个好习惯,特别是当你处理多个远程仓库或多个分支时;

命令4:从当前某个分支创建新分支:

D:\workspace\IdeaProjects\guliMall>git branch dev

现象:控制台无提示

可以看到idea右下角已经出现了刚新建的dev分支;

命令5:建新分支并立即切换到该分支

命令: git checkout -b (branchname)

我们也可以使用 git checkout -b (branchname) 命令来创建新分支并立即切换到该分支下,从而在该分支中操作

命令6:删除分支

删除分支命令: git branch -d (branchname)

现象:是因为你当前就在dev分支,所以无法删除当前分支,如果你想删除dev分支,你需要先跳转到别的分支,然后再去删除这个分支之外的其他分支;

如下图所示,删除dev_test分支
在idea又下角可以看到dev_test分支消失了

命令7:分支推送远程

D:\workspace\IdeaProjects\guliMall>git push
Enumerating objects: 21, done.
Counting objects: 100% (21/21), done.
Delta compression using up to 16 threads
Compressing objects: 100% (8/8), done.
Writing objects: 100% (11/11), 785 bytes | 785.00 KiB/s, done.
Total 11 (delta 4), reused 0 (delta 0)
remote: Powered by GITEE.COM [1.1.5]
remote: Set trace flag b64264bf
To https://gitee.com/zhai_jiahao/guli.git
   e570078..b85a6f8  dev -> dev

解释:git push origin feature-20240828-test 命令已经成功执行,并且你的 feature-20240828-test 分支的更改已经被推送到了远程仓库
输出中的关键信息如下:

  • Total 0 (delta 0), reused 0 (delta 0):这表示在推送过程中,Git 没有传输任何新的数据对象(因为可能你之前已经推送过这些对象,或者这次推送没有新增任何文件)。delta
  • 指的是压缩后的差异数据,这里也是0,表示没有差异数据需要传输。
  • remote: Powered by GITEE.COM [1.1.5] 和 remote: Set trace flag 8040dbad:这些是 Gitee.com 服务器返回的信息,主要是表明服务器是由 Gitee.com
  • 提供支持的,并且设置了一个跟踪标志(可能是用于调试或日志记录)。
  • To https://gitee.com/zhai_jiahao/gulimall.git:这是你的远程仓库的 URL,表示你的推送目标是这个地址。
  • 556aaab…b85a6f8 feature-20240828-test -> feature-20240828-test:这表示从远程仓库的 feature-20240828-test 分支的 556aaab…
  • b85a6f8 提交更新到了远程分支。这意味着远程仓库的 feature-20240828-test 分支现在与你的本地分支同步了。

注意:我这里没加上具体要推送到远程哪个仓库上,但是更好的习惯是加上远程仓库名称:像是这样 git push origin feature-20240828-test

命令8:分支合并

**目的:**我现在想要在dev开发分支开发的内容合并到test分支,因此 我在dev分支修改代码,增加了一行 ,来模拟自己在dev新增的代码,这个代码要合并到test分支上;

操作:
步骤1:在dev分支修改代码,然后commit到dev的本地仓库,然后push到远程,(其实这里只是需要commit到dev的本地仓库即可,因为本地执行merge命令是将本地仓库中dev分支开发的内容去合并到其他分支,所以这里严格来说只需要commit,无需push,但是一般的习惯,我们需要保证本地仓库dev分支代码和远程dev代码一致,所以一般commit之后,也会push到远程的),
步骤2:然后在切换到想要合并的目标分支 ,先切换到test分支后
步骤3:再使用git merge dev合并到test分支中,,再在控制台使用 下面命令,就可以将刚刚dev分支中修改的内容,合并到目前的test分支了;
步骤4:将合并到test中的内容推送到test的远程分支

D:\workspace\IdeaProjects\guliMall>git merge dev

**现象:**执行命令完毕,会提示有几行改变,下面图中是2行新增
1 file changed, 2 insertions(+)

好了,常用命令这就梳理的差不多了,当然也可以通过IDEA的ui页面直接操作也是可以的,原理步骤顺序都是类似,的,理解了上面的步骤,通过UI操作也恒轻松了~

如果在UI操作中遇见了问题,又改怎么解决呢 ?

可以看博客:【GIT】idea中实用的git操作,撤回commit,撤回push、暂存区使用

到此这篇关于Idea中的git命令使用的文章就介绍到这了,更多相关Idea git命令使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Jenkins配置maven项目之打包、部署、发布的全过程

    Jenkins配置maven项目之打包、部署、发布的全过程

    这篇文章主要介绍了Jenkins配置maven项目,打包、部署、发布,需要的朋友可以参考下
    2022-02-02
  • 通过git命令查看项目连接的仓库地址的几种方法

    通过git命令查看项目连接的仓库地址的几种方法

    本文介绍通过Git命令查看项目连接仓库地址的多种方法,包括使用git remote -v、git config、直接查看.git/config文件等,并提供修改远程仓库地址的步骤及注意事项,如区分SSH/HTTPS协议和多远程仓库情况,需要的朋友可以参考下
    2025-06-06
  • git在idea中的冲突解决方法(非常重要)

    git在idea中的冲突解决方法(非常重要)

    这篇文章主要介绍了git在idea中的冲突解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Git集成IDEA并连接GitLab全过程

    Git集成IDEA并连接GitLab全过程

    本文介绍了如何下载安装Git、IDEA中如何集成Git以及如何将IDEA项目连接到GitLab或GitHub,首先,详细介绍了Git的下载安装过程,并通过右键菜单检查安装成功,接着,展示了在IDEA中配置Git路径,并测试集成是否成功
    2024-11-11
  • VSCode 安装 Copilot 详细过程和实例代码(最新推荐)

    VSCode 安装 Copilot 详细过程和实例代码(最新推荐)

    Copilot 作为一款 AI 辅助编程工具,可以极大地提高开发效率,让编程变得更加轻松愉快,在实际开发过程中,我们要注意审查和测试生成的代码,确保其符合项目需求和标准,这篇文章主要介绍了VSCode 安装 Copilot 详细过程和实例,需要的朋友可以参考下
    2024-05-05
  • Fiddler Everywhere 4.0.1的破解及禁止更新的方法(最新推荐)

    Fiddler Everywhere 4.0.1的破解及禁止更新的方法(最新推荐)

    Fiddler Everywhere是个好东西,无论抓包还是调试接口都很好用,只是现在收费了,为了白嫖就决定折腾一下,如果一开始通过设置文件夹权限禁止更新,也会导致进不了使用界面而无法使用,下面说一下具体的解决过程
    2023-11-11
  • sqoop如何指定pg库的模式(方法详解)

    sqoop如何指定pg库的模式(方法详解)

    sqoop是一个用来将hadoop中hdfs和关系型数据库中的数据相互迁移的工具,可以将一个关系型数据库(mysql、oracle等)中的数据导入到hadoop的hdfs中,也可以将hdfs的数据导入到关系型数据库中,本文给大家介绍sqoop如何指定pg库的模式,一起看看吧
    2022-01-01
  • HTTP请求首部字段及响应首部字段详解

    HTTP请求首部字段及响应首部字段详解

    这篇文章主要介绍了HTTP请求首部字段及响应首部字段,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Git提交历史查看与日志筛选的全攻略

    Git提交历史查看与日志筛选的全攻略

    本文介绍了Git日志(gitlog)的实用操作指南,主要内容包括:基础用法展示提交历史、显示补丁(-p)与修改统计(--stat)、多样化输出格式(--pretty)设置、图形化分支(--graph)展示,以及多种过滤方式(时间、作者、关键词、路径等),需要的朋友可以参考下
    2026-03-03
  • 老生常谈计算机中的编码问题(必看篇)

    老生常谈计算机中的编码问题(必看篇)

    下面小编就为大家带来一篇老生常谈计算机中的编码问题(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07

最新评论