IDEA版本控制工具VCS中使用Git_idea vcs git-程序员宅基地

技术标签: IDEA版本控制工具Git  开发工具  

IDEA版本控制工具VCS中使用Git,以及快捷键总结(不使用命令)

下面来看以上各场景在IDEA中对应的操作。

场景一:小张创建项目并提交到远程Git仓库
创建好项目,选择VCS - > Import into Version Control -> Create Git Repository
在这里插入图片描述

接下来指定本地仓库的位置,按个人习惯指定即可,例如这里选择了项目源代码同目录

在这里插入图片描述

点击OK后创建完成本地仓库,注意,这里仅仅是本地的。下面把项目源码添加到本地仓库。

下图是Git与提交有关的三个命令对应的操作,Add命令是把文件从IDE的工作目录添加到本地仓库的stage区,Commit命令把stage区的暂存文件提交到当前分支的仓库,并清空stage区。Push命令把本地仓库的提交同步到远程仓库。
在这里插入图片描述
IDEA中对操作做了一定的简化,Commit和Push可以在一步中完成。

具体操作,在项目上点击右键,选择Git菜单
在这里插入图片描述
在这里插入图片描述
因为是第一次提交,Push前需要指定远程仓库的地址。如下图,点击Define remote后,在弹出的窗口中输入远程仓库地址。

在这里插入图片描述
场景二:小袁从远程Git仓库上获取项目源码
即克隆项目,操作如下:

在这里插入图片描述

输入小张Push时填写的远程仓库地址
在这里插入图片描述

接下来按向导操作,即可把项目从远程仓库克隆到本地仓库和IDE工作区。

场景三:小袁修改了部分源码,提交到远程仓库
这个操作和首次提交的流程基本一致,分别是 Add -> Commit -> Push。请参考场景一

场景四:小张从远程仓库获取小袁的提交
获取更新有两个命令:Fetch和Pull,Fetch是从远程仓库下载文件到本地的origin/master,然后可以手动对比修改决定是否合并到本地的master库。Push则是直接下载并合并。如果各成员在工作中都执行修改前先更新的规范,则可以直接使用Pull方式以简化操作。
在这里插入图片描述

场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发
建分支也是一个常用的操作,例如临时修改bug、开发不确定是否加入的功能等,都可以创建一个分支,再等待合适的时机合并到主干。

创建流程如下:
在这里插入图片描述

选择New Branch并输入一个分支的名称
在这里插入图片描述

创建完成后注意IDEA的右下角,如下图,Git: wangpangzi_branch表示已经自动切换到wangpangzi_branch分支,当前工作在这个分支上。

点击后弹出一个小窗口,在Local Branches中有其他可用的本地分支选项,点击后选择Checkout即可切换当前工作的分支。
在这里插入图片描述

如下图,点击Checkout
在这里插入图片描述

注意,这里创建的分支仅仅在本地仓库,如果想让组长小张获取到这个分支,还需要提交到远程仓库。

场景六:小袁把分支提交到远程Git仓库
切换到新建的分支,使用Push功能
在这里插入图片描述
在这里插入图片描述

场景七:小张获取小袁提交的分支
使用Pull功能打开更新窗口,点击Remote栏后面的刷新按钮,会在Branches to merge栏中刷新出新的分支。这里并不想做合并,所以不要选中任何分支,直接点击Pull按钮完成操作。
在这里插入图片描述

更新后,再点击右下角,可以看到在Remote Branches区已经有了新的分支,点击后在弹出的子菜单中选择Checkout as new local branch,在本地仓库中创建该分支。完成后在Local Branches区也会出现该分支的选项,可以按上面的方法,点击后选择Checkout切换。
在这里插入图片描述

场景八:小张把分支合并到主干
新功能开发完成,体验很好,项目组决定把该功能合并到主干上。

切换到master分支,选择Merge Changes
在这里插入图片描述

选择要合并的分支,点击Merge完成
在这里插入图片描述

附上VCS导航项及其每一子项的拆解介绍,其中,加粗部分的选项是博主认为比较重要的。

VCS
Local history
Show History ( 查看本地历史 )
Show History for Selection ( 查看所选文件的本地历史 )
Put Label
VCS Operations Popup ( 弹出版本控制操作窗 ) Alt + 反引号
Commit Changes ( 提交修改,用Git话是提交到本地暂存区 ) Ctrl + K
Update Project ( 项目更新,用Git话是从Remote拉取代码 ) Ctrl + T
Integrate Project
Refresh File Status
Show Changes ( 查看本地修改列表 ) Ctrl + Shift + Alt + D
Git
Commit File ( 进行提交修改 ) Ctrl + K
Add ( 添加版本控制 ) Ctrl + Alt + A
Annotate ( 显示/隐藏注释 )
Show Current Revision( 查看当前版本号 )
Compare with the Same Repository Version ( 与当前远程仓库的当前文件进行对比 )
Compare with Latest Repository Version ( 与当前最新仓库的当前文件进行对比 )
Compare with ( 弹出版本历史列表进行选择对比 )
Compare With Branch ( 弹出分支进行选择对比 )
Show history ( 查看当前文件的Git提交修改历史 )
Show History for Selection ( 查看当前选择内容的Git提交修改历史)
Revert ( 撤销修改 ) Ctrl + Alt + Z
Resolve Conflicts
Branches ( 分支相关操作 )
Tag ( 标签相关操作 )
Merge Changes ( 合并修改 )
Stash Changes ( 暂存修改 )
UnStash Changes ( 取消暂存修改 )
Reset HEAD
Remotes
Clone
Fetch
Pull
Push ( 从本地暂存区提交到Remote ) Ctrl + Shift + K
Rebase
Rebase my GitHub fork
Create Pull Request
Create Patch
Apply Patch
Apply Patch from Clipboard
Shelve Changes
Checkout from Version Control ( 从版本控制中检出项目 )
Github
Git
Mercurial
Subversion
TFS
Import into Version Control ( 导入项目到版本控制 )
Import into CVS
Create Git Repository ( 创建Git出库 )
Import into Subversion ( 导入到SVN )
Create Mercurial Repository
Share Project On Github ( 分享项目到Github )
Browse VCS Repository
Browse VCS Repository
Show Git Repository Log
Browse Subversion Repository
Sync Settings
本文转载自:https://blog.csdn.net/autfish/article/details/52513465
https://blog.csdn.net/qq_28804275/article/details/80891901

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40402688/article/details/92815847

智能推荐

Java虚拟机加载Java类的过程_java虚拟机加载.java文件-程序员宅基地

文章浏览阅读1.8w次。JVM加载Java类的过程JVM加载Java类的过程可分为三步:加载、链接、初始化。1、加载加载的过程就是查找字节流,并根据找到的字节流来创建类的一个过程。Java语言的数据类型可以分为两大类:基本数据类型和引用数据类型。基本数据类型:由JVM预先定义好的,所以也就没有查找字节流这一说法引用数据类型:可分为四种,即类、接口、数组和泛型参数。因为泛型参数在编译过程中会被擦除,所以JVM中就只有前三种。而数组又是由JVM直接生成的,所以只有类和接口需要查找字节流那么JVM是怎么查找到字节流的_java虚拟机加载.java文件

C/C++ _strlwr_s 函数 – 字符串大写转小写- C语言零基础入门教程_c++ _strlwr(s);-程序员宅基地

文章浏览阅读2.4k次。目录一._strlwr_s 函数简介二._strlwr_s 函数实战三.猜你喜欢零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ 面向对象零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ 设计模式零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ STL零基础 C/C++ 学习路线推荐 :_c++ _strlwr(s);

报错解决——RuntimeError: The size of tensor a (4) must match the size of tensor b (3) at non-singleton-程序员宅基地

文章浏览阅读7.0k次,点赞17次,收藏12次。RuntimeError: The size of tensor a (4) must match the size of tensor b (3) at non-singleton dimension 0_runtimeerror: the size of tensor a (4) must match the size of tensor b (3) a

vim常用快捷键笔记-程序员宅基地

文章浏览阅读142次。模式切换Vim一共有4个模式:正常模式 (Normal-mode) :正常模式一般用于浏览文件,也包括一些复制、粘贴、删除等操作插入模式 (Insert-mode):在正常模式中按下i, I, a, A等键命令模式 (Command-mode):在正常模式中,按下:(冒号)键,会进入命令模式可视模式 (Visual-mode):在正常模式按下v, V, \<Ctrl&g..._直接在normal模式下

python中利用递归方法实现n的阶乘计算_python递归函数求n的阶乘-程序员宅基地

文章浏览阅读2.1w次,点赞4次,收藏4次。给出一个数n,写一个函数myfac(n)来计算n!(n的阶乘)def myfac(n): if n==1: return 1 else: return myfac(n-1)*n_python递归函数求n的阶乘

使用 RK3399 搭载 Android 系统7.1.2,出现 AudioTrack 有时无法播放 PCM 音频_rk3399 rt5651底层播放busy-程序员宅基地

文章浏览阅读1.8k次。RK3399 在 Android 系统 7.1.2,出现 AudioTrack 有时无法播放 PCM 音频的问题问题背景:切换 rk3399 后,搭载系统为 Android 7.1.2,如果单独使用 audiotrack 播放 PCM 音频是没有问题,但是应用在智能家居上,一般都需要和语音识别打交道,在开启录音后,很大的几率出现播放 PCM 音频不出声,查看log日志发现在录音短暂关闭后能恢复..._rk3399 rt5651底层播放busy

随便推点

一个零基础的新手应该如何系统的学习java开发_零基础如何系统的学习java-程序员宅基地

文章浏览阅读4.4k次,点赞6次,收藏5次。一个零基础的小白,应该如何系统化的学习JAVA编程语言,然后找到工作,在学习的过程中不浪费时间少走弯路。 第一,必须有一个老师给自己讲解,带着学习,这样首先是可以少走很多的弯路,不至于一个小小的问题,就困扰了一天的时间,可能明白人的一句话你就明白,但是自己想可能需要一天的时间,或许最后还是搞不懂。 第二: 需要有一个明确而且系统的学习规划,比如你今天学习什么内容,而且今天学_零基础如何系统的学习java

Stream流中的常用方法_count_stream流统计数量-程序员宅基地

文章浏览阅读962次。统计个数:count正如旧集合Collection 当中的size 方法一样,流提供count 方法来数一数其中的元素个数:long count();该方法返回一个long值代表元素个数(不再像旧集合那样是int值)。基本使用:package com.learn.demo02.Stream;import java.util.ArrayList;import java.ut..._stream流统计数量

NYOJ 228 士兵杀敌(五) (巧用数组)-程序员宅基地

文章浏览阅读241次。题目228题目信息运行结果本题排行讨论区士兵杀敌(五)时间限制:2000 ms | 内存限制:65535 KB难度:5描述南将军麾下有百万精兵,现已知共有M个士兵,编号为0~M,每次有任务的时候,总会有一批编号连在一起人请战(编号相近的人经常在一块,相互之间比较熟悉),最终他们获得的军功,也将会平分到每

如何用Python中的3D绘图命令,让你的数据更高级_python addplot()画3维图像-程序员宅基地

文章浏览阅读1.1k次,点赞5次,收藏15次。图是最直观观察到数据之间的内部关系以及规律的,比如在下面的几张动图中,使用matplotlib中的三维显示命令,使得我们可以对于logistic回归网络的性能与相关参数有了更好的理解。下面的动图显示了在训练网络时,不同的学习速率对于算法收敛之间的影响。下面给出了绘制这些动态曲线的相关的python指令:➤01 3D plot1.基本语法在安装matplotlib之后,自动安装有 mpl_toolkits.mplot3d。#Importing Librariesimport matplo_python addplot()画3维图像

selenium+python自动化- 浏览器窗口切换 switch_to_window_python selenium switch_to_window-程序员宅基地

文章浏览阅读8.2k次,点赞4次,收藏15次。如果把下面几行代码注释掉,我们会发现运行报错位置在“输入用户名”, 这是因为,第二步点击“登陆”时,浏览器又弹出了一个新的窗口,程序每次都会去第一个窗口中寻找元素,而“输入用户名”在弹出的第二个窗口标签里,所以是找不到的。#latest_window=driver.window_handles[-1]#driver.close() 关闭窗口,保证浏览器只有一个窗口#driver.swit..._python selenium switch_to_window

32岁的程序员转职成为大学讲师,收入曝光_大学计算机讲师工资-程序员宅基地

文章浏览阅读4.3k次。对于很多在互联网公司工作的程序员来说,其实他们到了一定岁数也是对自己的前途比较担忧,因为他们担心被公司劝退,而且往往互联网公司在裁员的时候可以说是非常无情的,即便是在公司工作很长时间立下汗马功劳,都不会被相关领导所重视,那么这些程序员便会在35岁之前做好打算。近日在论坛,笔者看到有位32岁的程序员便转职成为了一名大学讲师,其实在此之前他的学历还是蛮高的,985博士毕业,毕业以后一直在互联网公司..._大学计算机讲师工资

推荐文章

热门文章

相关标签