idea git操作

2023-11-10

图片有的 是idea界面,有的是Android studio界面,当成字典看,不用记,你知道自己想操作仓库时,知道自己曾写过这篇文章就行

目录

引入git别的仓库的其它模块

创建 Git 分支并且 Push

删除分支

删除分支的文件

Androidstudio 当前分支不对 需要切换分支

Android studio  创建git仓库  在项目没有git的时候

将idea中的项目代码直接提交到github中

IntelliJ idea 撤回提交(已经commit未push的)

合并提交

查看一个文件谁什么时候修改

 已经PUSH怎么撤回



引入git别的仓库的其它模块

——  先clone下来  然后剪切到项目目录    (如果配置了  不需要  File -- new - import module)

创建 Git 分支并且 Push

点击  然后new Branch 创建分支

然后你的当前分支就变了

点击VCS- git  - Push                  

删除分支

如果你自己创建的分支自己不想要了,可以先删除本地和远程的分支   彻底干掉  (我的分支名是doc)

先切换到其它分支)   选中待切换的分支,checkout    如这里是doc分支切换到master分支(二、是详细切换分支的说明

直接在控制台输入

本地删除:git branch -D doc

远程删除:git push origin :doc

删除分支后,你可以重新创建分支或切换分支

删除分支的文件

git 删除远程分支文件_bin-CSDN博客_git删除远程分支文件

git rm --cached filename
git commit -m "delete remote file filename "
git push -u origin master(此处是当前分支的名字)

删除目录不成功  当然 git commit -m "delete remote directory /src/1.0.0/src/main/java/com/megain/junhao/util/chuankou"  也是不行

D:\JavaCode\WSL\src\main>git rm -r –cached chuankou
fatal: pathspec '–cached' did not match any files
也是不行

最后我直接在本地删掉不需要的文件和文件夹,然后运行

git commit -m "delete remote file test.jsp"

我们发现只是敲了删除test.jsp文件的命令,之前我们是删掉本地所有不需要的文件和文件夹也被查出来并删掉

然后,我们  工具栏   Git  --  commit

commit的时候把.idea/workspace.xml 提交后就push成功

这种情况可能只适用与idea工具

Androidstudio 当前分支不对 需要切换分支

一 、 当前分支不对,且没有找到 remete 里需要的分支,所以需要重新拉   (如果可以看到要切换的分支,请忽略步骤一

部分转自: https://www.jb51.net/article/191557.htm

1、点击VCS-Git-Remotes...  目的是:

2 点击Edit修改输入新地址即可,name可以自己写

 3 修改成功以后,点击VCS-Git-fetch,刷新远程修改到本地,此时点击右下角git分支树,就是最新的分支树了

二、

也可以直接按照该博客操作  但我在没有找到想切换的分支时,按照他的操作没有得到结果IDEA切换git分支 - 简书

例如当前情况是需要切换到8-posauth-update分支
点击上图中的Git: XXXXX进行切换,点击分支名 然后点击checkout

idea 点击右侧栏找不到git或者svn&git的基本使用_YyCarry的博客-CSDN博客   先找到git  然后 VCS --GIT -- clone

Android studio  创建git仓库  在项目没有git的时候

将idea中的项目代码直接提交到github中

选择 VCS ---> Import into Version Control ---> Share Project on GitHub --->弹出界面点击 Share Anyway ---> 点击 share

idea会自动帮我们创建github远程仓库,并且把项目提交上去。注意,项目名即为远程仓库名

似乎只能用于GitHub,,至于推送到Gitee等 一般都是clone下来再推送

IntelliJ idea 撤回提交(已经commit未push的)

最常用的是在提交窗口点击撤回按钮

还有这个方法来自:IntelliJ idea 撤回(已经commit未push的)操作_H的博客-CSDN博客_idea已经commit的怎么撤销

下面是撤回上一次提交  Git --  Reset Head (idea 2020版本是这样  一般区别不大  最多Git会变成 VSC)    输入 HEAD^                 一般记住这个就够了,因为你一天可能就提交个2次

注意: 当你撤回两次提交, 如下图我提交1次后要反悔;打开  有个Merge, 我的提交在2(更改XX);  所以要撤回到2的上一步  也就是3(这里没显示)

输入 HEAD~2   

撤回提交后修改完成,在此提交前 必须 Git -- Pull ;Push前也不要忘了Git -- Pull;    如果你能保证你同事没有push过代码,不然你就把别人的代码覆盖了

还有一个方法是  在Git--log窗口  右键提交的信息点击Undo Commit;  弹出窗口中默认Default Changelist,然后点击OK

撤销创建仓库后第一次提交的 commit

git update-ref -d HEAD

运行后左下角打开Git -- Log窗口,发现已经没有提交记录了
这时候你再按自己的想法commit

 

合并提交

IntelliJ IDEA 结合 Git 版本管理 代码合并,回退,合并指定的提交等操作记录_请叫我大师兄-CSDN博客

假设在dev分支上提交了代码,然后现在需要将dev提交的代码合并到test分支。

那么就把本地的项目,切换到test分支,checkout test分支,然后如下图,

Merge into Current   

1. git fetch:相当于是从远程获取最新版本到本地,但不会自动 merge

2. git pull:相当于是从远程获取最新版本并 merge 到本地

当年提交完 并Git fetch,准备push到服务器时,出现冲突

原来在你提交前还有同事也提交了代码,而且是修改同一个文件

idea git拉取、合并、处理冲突、提交代码具体操作 - 巫~巫 - 博客园 偷点图,涉及公司隐私我就不贴图片了,遇到文件冲突要自己确认,不要到时候你自己或同事说我的代码怎么不见了

下面是一个文件内容冲突的情况,直接点击Merger,最左边是自己的,最右边是远程仓库的,一般情况下都是两个箭头指着中间的都点一下;

当出现两个箭头指向同一个内容,那就要自己选择哪个为准   X掉不要的

 

 

最后直接push

查看一个文件谁什么时候修改

在idea界面左侧行号处,右键点击 Annotate with Git Blame;关闭是直接右键close Annotate
Annotate 注释的意思   

 已经PUSH怎么撤回

git的底层不推荐你做已经PUSH然后撤回,你提交到线上仓库就说明已经存在

你想撤回其实是想撤回线上仓库的错误提交的记录, 
要移掉记录 可以用--force强制 但是极其不推荐 容易把别人的代码搞没

如果你是个人项目代码,那没事随便搞。但是在公司,多人合作的项目,你强制操作,呵呵

Git 彻底删除服务器上的提交记录_hrx-@@-CSDN博客

commit的hash值 在idea左下角 GIT窗口- log -  右键提交记录 选择第一个 Copy Revision Number

/* 1、回滚本地的提交记录 */
git reset --hard 目标commit的hash值

/* 2、强制提交到远端服务器 */
git push origin HEAD --force
E:\minework\cs\hotman>git reset --hard c4bf666460900ca4fe0af42b863f66c4117bd
805
HEAD is now at c4bf666 调整XXXX

然后点击 Git-commit   再push   会提示一个remote: GitLab: You are not allowed to force push code to a protected branch on this project.记录
没关系强制提交

上班的时候,有人教育你,commit的代码一定要在本地运行正确后再提交,但还有一句没说,错了马上改好再提交。     保证别人pull你的代码运行的时候不会报错,这才是重点。

多人合作的正确做法仅仅是  及时把错误提交的代码修改正确后,commit后提交再push,错误记录就让它待在那。

idea编辑器的代码被误删怎么找回

上面的别人强制PUSH后撤回提交代码时,  或者不小心多次Ctrl + Z  ,一些需要的代码神奇消失时, JetBrains公司的IDE都有这个功能

右键 类名,选择Local Hostory 选择Show History
它的代码历史记录可能不到一星期,点击红笔圈中的》按钮即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

idea git操作 的相关文章

  • git 索引到底包含什么?

    Git 索引到底包含哪些内容 可以使用什么命令查看索引内容 感谢您的所有回答 我知道索引充当暂存区 提交的内容是在索引中而不是工作树中 我只是好奇索引对象由什么组成 我猜它可能是文件名 目录名 SHA 1 对的列表 也许是一种虚拟树 在 G
  • 配置 Eclipse/EGit 来跟踪上游存储库

    我正在使用 EGit 如新的 Eclipse 4 2 Juno 版本中提供的 我在 GitHub 上有一个存储库 是从另一个上游存储库分叉的 当我从 Github 上的存储库在 Eclipse 中创建项目时 它正确设置origin指向 Gi
  • Visual Studio 2017/2019/2022 gitsync/pull/push/fetch 操作卡住,并且无法停止

    我从 Visual Studio 中的 Git Changes 选项卡启动同步 获取 拉取或推送 但操作只是挂起 没有选项可以停止它 我必须点击 X 才能关闭 Visual Studio 如果操作是同步的 它会在其他所有操作上打开一个模式对
  • 我如何知道哪些文件已在 git 中标记为“假设未更改”

    这个答案 https stackoverflow com a 936325 554807向您展示如何将 git 管理的文件标记为 我不希望从该文件的存储库进行更改 IE 拥有该文件的您自己的本地未跟踪版本 即使它仍然受到 git 的修订控制
  • 我的终端中的彩色、并排、内联 git diff 输出

    请注意 此问题不是该问题的重复问题 而是该问题的后续问题 当我执行 git diff 时 如何获得并排差异 https stackoverflow com questions 7669963 how can i get a side by
  • 克隆/推送 Git Repos 时出错 443:访问错误,但未使用代理

    当使用 git 远程存储库进行这些操作克隆 推送时 我遇到了非常奇怪的问题 假设我正在尝试将更改推送到远程存储库 git push origin master 然后我会得到这个错误 致命 无法访问 Remote Repo 无法连接到 git
  • 删除 git Branch -a 列出的分支

    命令git branch a列出了一堆不在存储库上且不在本地分支上的分支 这些怎样才能删除呢 develop master remotes origin cloner 例如 remotes origin cloner曾经存在于存储库中 但它
  • 在 Git 中查看已删除的文件

    我已使用 Git 删除了一个文件 然后又提交了 因此该文件不再位于我的工作副本中 我想查看该文件的内容 但不想真正恢复它 我怎样才能做到这一点 git show HEAD path to file 您可以使用显式提交标识符或HEAD n查看
  • “无法同时更新路径和切换到分支”

    我有时会使用checkout b创建新分支的选项 同时将其签出并在一个命令中设置跟踪 在新环境中 我收到此错误 git checkout b test track origin master fatal Cannot update path
  • Git 命令查找哪些分支合并到当前分支以及何时合并

    我有几个功能分支正在自动合并到集成分支中 我想知道这种情况是否以及何时发生 我可以打字git log这将向我显示合并已经发生 但由于某种原因 它没有向我显示来自哪个功能分支 它只是说 将integration branch合并到integr
  • 是否有任何 git merge-strategies 可以忽略提交上的子模块更新或分支合并到目标分支?

    我的用例是 我有一个包含子模块的存储库的两个分支 我想设置这两个分支的自动集成 但是 只要两个分支上都有子模块更新 我的自动集成脚本就会因子模块冲突而失败 有没有办法让 git 在合并过程中忽略子模块指针的变化 或者提供类似的东西merge
  • 压缩 git log --graph 输出?

    有没有办法压缩输出git log graph那么它会在视觉上压缩遵循线性历史的提交吗 基本上 我只想查看图中某些分支分歧 合并的点 以获得我的分支结构的顶层 概述 举个例子 如果我有这个 A Z H B G C F D E 我希望它显示类似
  • 从 git 中提取特定的提交/文件

    我在 git 存储库中进行了两次提交 并将它们推送到我的 git 服务器 两个提交是 在第一次提交中文件 A 被提交 在第二次提交中 文件 B 被提交 现在在另一台开发服务器上 我只想从 git 服务器中提取第一个提交或文件 A 这个怎么做
  • 在 Windows 上为 Bitbucket 设置 SSH 密钥

    首先 我对 git repos 和命令行绝对是菜鸟 我在 Bitbucket 上有仓库 我基本上希望能够通过 gitbash 推送到存储库 而无需每次输入密码 我拥有的 Bitbucket 上的存储库已设置好代码 克隆存储库的本地目录 通过
  • 如何正确处理git中仅本地使用的文件?

    我想重新排序 git commits 中更改文件的输出 因此我创建了一个名为submodule orderfile并配置diff orderFile https git scm com docs git config指向该文件 现在出现了很
  • git 别名:多个命令、可变参数

    我经常发现自己输入以下内容 git push remote1 branch1 branch2 tag1 tag2 tag3 git push remote2 branch1 branch2 tag1 tag2 tag3 我更喜欢一个别名 我
  • GIT Rebase 协作的分支?

    阅读本文后 重新设置基点以收集从主分支到我的功能分支的更改是有意义的 Git 工作流程以及 rebase 与合并问题 https stackoverflow com questions 457927 git workflow and reb
  • git:键不包含节

    我使用的是 Git 版本 1 8 4 2 When I press tab to auto complete any command it prints the error below and it also completes the c
  • 创建 Git 标签时自动运行 Git hook

    是否有一个 Git 钩子可以在添加新的 Git 标签时执行 因为我想自动将新的 Git 标签名称写入文本文件 您知道如何执行此操作吗 虽然目前无法使用挂钩 但您始终可以创建一个简单的脚本 mytag sh bin sh z 1 git ta
  • Git - 在特定提交之前压缩历史记录中的所有提交

    我有一个 Mercurial 存储库 正在将其转换为 Git 提交历史记录非常大 我不需要新存储库中的所有提交历史记录 一旦我将提交历史记录转换为 Git 并且在推送到新存储库之前 我想将某个标记之前的所有提交压缩为一个提交 所以 如果我有

随机推荐

  • oracle 给表或字段添加备注语法

    comment on column TableName ColumnName is 备注名 comment on table TableName is 备注名
  • 一些写得非常不错的C++网络编程库

    如果你对网络编程有兴趣的话 可以从以下内容来学习 想写好程序最基本的方法就是多看 等看明白了 多写 这样自然就成为所谓的高手 不过CPL认为更贴切的应该叫熟练手吧 转载 http www crystalclearsoftware com c
  • 计算机本科生毕业设计题目(三)

    资源下载 计算机本科生毕业设计题目 资源下载 计算机论文题目精选50篇 文章目录 一 安卓 二 java 三 ASP NET C 题目 毕设通用50篇 一 安卓 安卓 001 个人事务管理系统 安卓 002 手机订餐系统 安卓 003 无线
  • 【Redis入门笔记 07】数据库持久化

    目录 持久化是个啥 持久化策略 RDB 持久化策略 AOF 持久化是个啥 我们都知道电脑中的内存一般指的是 DRAM 属于易失性存储器 里面的电容是会漏电的 需要通电来定期刷新 当断电以后内存中的数据会慢慢消失 以速度著称的 redis 就
  • 宋浩概率论与数理统计-第三章-笔记

    概率论与数理统计 第三章 3 1 1 二维随机变量及其分布函数 联合分布 边缘分布 3 1 2 二维离散型的联合分布和边缘分布 3 1 3 二维连续型的联合分布和边缘分布 联合分布 边缘分布 3 2 1 条件分布 3 2 2 离散型的条件分
  • 创建qml自定义视频源(Qt6.3.1+取景器帧)

    前言 笔者之前记录的是Qt5 15的 当前Qt6系列无法使用 笔者本次记录下Qt6中 如何创建qml自定义视频源 一 获取视频帧 这个笔者在之前的文档中记录过 本次算是重复了 1 通过videoSink获取 关键代码如下 Camera id
  • 2、kettle知识点系列之kettle向redis同步数据

    kettle向redis同步数据 网上kettle向redis同步数据的完整案例不是很多 本文将以案例形式对整个过程进行详细讲解 一 案例描述 本文以最简单的案例描述 大家在应用过程中可根据实际情况进行调整 现有学生表和成绩表 如何将表中的
  • 转:基于Spark的电影推荐系统(包含爬虫项目、web网站、后台管理系统以及spark推荐系统)

    版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net u011254180 article details 80006453 本次项目是基于
  • 算法作业(4):旅行者问题

  • 华为官方翻新产品秒杀活动来袭,官方正品,7折优惠,真香!

    4月24日 华为商城 微博官宣 4月26日12 00和20 00在华为商城APP内将举办两场超级秒杀节活动 其中包括7折优惠的2款华为官方翻新手机 分别是nova 9和nova 9 Pro 华为官方翻新nova 9手机秒杀直降660元 15
  • 前端实现语音播放

    0 Web Speech API Web Speech API 使您能够将语音数据合并到 Web 应用程序中 Web Speech API 有两个部分 SpeechSynthesis 语音合成 文本到语音 TTS 和 SpeechRecog
  • IC 的资源体系

    信息共享空间是集信息资源 各类软硬件设施于一体的一个综合性动态服务模 式 其最大特点是资源共享 因此 要加强电脑终端 打印机等硬件设施的建设 同时强调文献数据库 电子图书 学位论文 各类免费软件等信息资源的建设 提 供知识导航 跨库检索 开
  • SysTick定时器

    SysTick定时器 SysTick定时器也叫SysTick滴答定时器 它是Cortex M3内核的一个外设 它是一个24 位向下递减的定时器 每计数一次所需时间为1 SYSTICK SYSTICK是系统定时器时钟 它可以直接取自系统时钟
  • 【概念梳理】激活函数

    一 引言 常用的激活函数如下 1 Sigmoid函数 2 Tanh函数 3 ReLU函数 4 ELU函数 5 PReLU函数 6 Leaky ReLU函数 7 Maxout函数 8 Mish函数 二 激活函数的定义 多层神经网络中 上层节点
  • CoordinatorLayout的使用-Androidx

    折叠效果实现核心 CoordinatorLayout AppBarLayout CollapsingToolbarLayout 1 build gradle dependencies implementation com google an
  • Elasticsearch7.7 基础教程 1

    Elasticsearch7 7 基础教程 1 以下简称es7 7 es7 7的安装 1 官网下载 https www elastic co cn downloads elasticsearch 2 解压文件 3 在安装文件夹下的bin目录
  • Ajax session一直变,ajax异步session值不唯一 总是改变 解决办法

    public void doFilter ServletRequest servletRequest ServletResponse servletResponse FilterChain filterChain throws IOExce
  • 获取硬件信息的delphi源码(CPUID、操作系统、Mac物理地址、计算机名称、IP地址、用户名)

    转载请保留本文链接地址 http blog csdn net sushengmiyan article details 8545673 作者 sushengmiyan 2013 01 26 备注 功能 硬件信息获取单元 unit Appli
  • 使用nginx做为http-flv服务如何解决跨域问题

    什么是跨域 跨域是指浏览器的同源策略限制 这个策略会阻止一个域的javascript脚本和另外一个域的内容进行交互 如果一个请求url的协议 域名 端口三者之间任意一个与当前页面的url不同即为跨域 如下图所示即为跨域时的报错 使用ngin
  • idea git操作

    图片有的 是idea界面 有的是Android studio界面 当成字典看 不用记 你知道自己想操作仓库时 知道自己曾写过这篇文章就行 目录 引入git别的仓库的其它模块 创建 Git 分支并且 Push 删除分支 删除分支的文件 And