idea中git如何切换到master_IDEA中Git的使用

原文转载于:https://www.cnblogs.com/javabg/p/8567790.html

工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:

假设小组中有两个人,组长小张,组员小袁

场景一:小张创建项目并提交到远程Git仓库

场景二:小袁从远程Git仓库上获取项目源码

场景三:小袁修改了部分源码,提交到远程仓库

场景四:小张从远程仓库获取小袁的提交

场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发

场景六:小袁把分支提交到远程Git仓库

场景七:小张获取小袁提交的分支

场景八:小张把分支合并到主干

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

场景一:小张创建项目并提交到远程Git仓库

创建好项目,选择VCS - > Import into Version Control -> Create Git Repository

2758281b02534f25327ddfa17971fa58.png

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

f2a50292f1f0f229f7efcdf9953b8244.png

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

下图是Git与提交有关的三个命令对应的操作,Add命令是把文件从IDE的工作目录添加到本地仓库的stage区,Commit命令把stage区的暂存文件提交到当前分支的仓库,并清空stage区。Push命令把本地仓库的提交同步到远程仓库。

2b0b3fdfb3ce4449f71ca3ee95a6da39.png

IDEA中对操作做了一定的简化,Commit和Push可以在一步中完成。

具体操作,在项目上点击右键,选择Git菜单

eb7b81f52d962376eea86e0c80583efa.png
22fc52b22bc16fe784f52908c45251bb.png
96f2fb04f63844cb5d07bdbb056cb2d7.png

因为是第一次提交,Push前需要指定远程仓库的地址。如下图,点击Define remote后,在弹出的窗口中输入远程仓库地址。

2888c269222634683298cbec10fec80a.png

场景二:小袁从远程Git仓库上获取项目源码

即克隆项目,操作如下:

055775870632e2d38a69c612466aa2f3.png

输入小张Push时填写的远程仓库地址

d85a8f340a6a7f767c12e62a206ca43f.png

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

场景三:小袁修改了部分源码,提交到远程仓库

这个操作和首次提交的流程基本一致,分别是 Add -> Commit -> Push。请参考场景一

场景四:小张从远程仓库获取小袁的提交

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

71fcd21d85c56a187ec3fee62ca4473a.png

场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发

建分支也是一个常用的操作,例如临时修改bug、开发不确定是否加入的功能等,都可以创建一个分支,再等待合适的时机合并到主干。

创建流程如下:

89be2a1d7bcb73940a3770e5fc68d3d2.png

选择New Branch并输入一个分支的名称

0e4cb0e2a5aab0ef42282d342ea844b3.png

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

点击后弹出一个小窗口,在Local Branches中有其他可用的本地分支选项,点击后选择Checkout即可切换当前工作的分支(见场景7操作切换其他分支)。

0c604ee23a408b127251ab9cfa589fd5.png

如下图,点击Checkout

d4b8e9d2e907c3ed6b1d1cd496a5c97c.png

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

场景六:小袁把分支提交到远程Git仓库

切换到新建的分支,使用Push功能

f0b2446030bd86ec546540070b283f77.png
fbe58bb32d4c1fbe21aa98b0913f9816.png

场景七:小张获取小袁提交的分支

使用Pull功能打开更新窗口,点击Remote栏后面的刷新按钮,会在Branches to merge栏中刷新出新的分支。这里并不想做合并,所以不要选中任何分支,直接点击Pull按钮完成操作。

74d0d46c17e83019b48634bab173ae23.png

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

aca8065e5761873745701b10a6f3c5dc.png

场景八:小张把分支合并到主干

新功能开发完成,体验很好,项目组决定把该功能合并到主干上。

切换到master分支,选择Merge Changes

84430f8298fca5584081d69156dab32c.png

选择要合并的分支,点击Merge完成

b347926b2f908a90bc99a29f357603c6.png

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

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

相关文章

LeetCode 2032. 至少在两个数组中出现的值(哈希/位运算)

文章目录1. 题目2. 解题2.1 哈希查找2.2 位运算1. 题目 给你三个整数数组 nums1、nums2 和 nums3 ,请你构造并返回一个 不同 数组,且由 至少 在 两个 数组中出现的所有值组成。 数组中的元素可以按 任意 顺序排列。 示例 1: 输入&#xff1…

Nginx反向代理配置配置实例

为了节省支出,公司需要将分布在不同机器的站点都迁移到一台机器,而目前不同机器运行的是不同的web服务,部分是nginx,部分是apache,由于牵涉较多rewrite规则,为了节省修改功夫,打算迁移后相应站点…

python装饰器由浅入深_由浅入深理解Python装饰器

前提知识:1、Python里函数也是一种对象:def shout(word"yes"):return word.capitalize()"!"print shout()# outputs : Yes!# As an object, you can assign the function to a variable like any# other objectscream shout# Notic…

LeetCode 2033. 获取单值网格的最小操作数(贪心)

文章目录1. 题目2. 解题1. 题目 给你一个大小为 m x n 的二维整数网格 grid 和一个整数 x 。 每一次操作,你可以对 grid 中的任一元素 加 x 或 减 x 。 单值网格 是全部元素都相等的网格。 返回使网格化为单值网格所需的 最小 操作数。如果不能,返回 …

WCF X.509验证

1.证书的制作 makecert.exe -sr LocalMachine -ss My -a sha1 -n CNParkingServer -sky exchange -pe makecert.exe -sr LocalMachine -ss My -a sha1 -n CNParkingClient -sky exchange -pe 注意:证书制作完后还要对相应的证书读取权限作配置。 WCF取用X.509证书&…

mysql最左_Mysql最左原则

1. 前言偶然看到一个技术群&#xff0c;对一道关于联合索引的讨论。面试题如下&#xff1a;a_b_c_index 三列复合索引 a 1 and b<100 and c5 这个查询 会用到索引的那几部分&#xff1f;复制代码先说下个人经过本人查询多方资料得到的结论&#xff0c; 只会用到 a 和 b部分(…

LeetCode 2034. 股票价格波动(set + map)

文章目录1. 题目2. 解题1. 题目 给你一支股票价格的数据流。数据流中每一条记录包含一个 时间戳 和该时间点股票对应的 价格 。 不巧的是&#xff0c;由于股票市场内在的波动性&#xff0c;股票价格记录可能不是按时间顺序到来的。 某些情况下&#xff0c;有的记录可能是错的…

Yslow-23条规则

YslowYahoo发布的一款基于FireFox的插件,主要是为了提高网页性能而设计的&#xff0c;下面是它提倡了23条规则&#xff0c;还是很不错的&#xff0c;分享一下&#xff1a; 1.减少HTTP请求次数合并图片、CSS、JS&#xff0c;改进首次访问用户等待时间。2. 使用CDN就近缓存>智…

什么是python函数_什么是python函数

python函数是指组织好的、可重复使用的、用来实现单一或相关联功能的代码段。python函数包含系统中自带的一些函数、第三方函数、以及用户自定义的函数。函数是可以实现一些特定功能的小方法或是小程序。在Python中有很多内建函数&#xff0c;当然随着学习的深入&#xff0c;我…

LeetCode 2035. 将数组分成两个数组并最小化数组和的差(状态压缩DP)

文章目录1. 题目2. 解题1. 题目 给你一个长度为 2 * n 的整数数组。 你需要将 nums 分成 两个 长度为 n 的数组&#xff0c;分别求出两个数组的和&#xff0c;并 最小化 两个数组和之 差的绝对值 。 nums 中每个元素都需要放入两个数组之一。 请你返回 最小 的 数组和之差。 …

linux for循环

一定要记得写后面的分号&#xff1b;http://www.runoob.com/linux/linux-shell-variable.html 这个页面的课程的循环教程是有问题的 for color in yellow green white;do   echo ${color}done 利用循环列出某个目录下的<b>所有</b>文件 for line in ls /tmp/yang…

Visual Studio Code C++配置文件

文章目录tasks.jsonlaunch.jsonc_cpp_properties.json以下三个文件放在 项目下 .vscode 文件夹中&#xff0c;内容从网络收集&#xff0c;经自己实践添加修改以备忘 tasks.json {// See https://go.microsoft.com/fwlink/?LinkId733558// for the documentation about the t…

南通大学python期末考试试卷答案_南通大学2015-2016年1学期《软工》作业点评总结...

第一次作业(2015.9.13)作业题目存在问题1.学生可能平时写博客的机会比较少&#xff0c;书写格式存在的问题比较多。比如文字排版、博客中的代码直接粘贴(没有使用代码样式)、插入的图片太大等等。这些问题老师在上课的时候可以专门抽出一节课的时间跟学生讲一下&#xff0c;计算…

android--仿网易新闻主界面

主要是学习ActionBarDrawerLayoutActionBarDrawerToggle,很不错的教程,下面一步一步带你实现这个过程,有不足之处欢迎留言交流.下面先来一张效果图 根据图片分析,要实现的有侧边栏DrawerLayout,ActionBar的颜色和菜单以及ActionBarDrawerToggle的动画效果. 在这之前,Theme要改…

fastapi 查询参数和字符串校验 / 路径参数和数值校验

文章目录1. 约束限制2. 必须参数3. 查询参数列表 / 多个值4. 声明更多元数据5. 别名参数6. 弃用参数7. Path 路径参数8. 按需对参数排序learn from https://fastapi.tiangolo.com/zh/tutorial/query-params-str-validations/ 1. 约束限制 from typing import Optional from f…

python tkinter选择路径控件_如何使用tkinter在Python中选择目录并存储位置

我正在创建一个带有浏览按钮的GUI,我只想返回路径.我一直在使用下面的代码来查找解决方案.Tkinter.Button(subframe, text "Browse", command self.loadtemplate, width 10).pack()def loadtemplate(self):filename tkFileDialog.askopenfilename(filetypes ((&…

python字典速度能比字典高多少_python – 字典访问速度比较与整数键对字符串键...

我有一个大字典&#xff0c;我必须从中寻找价值观很多次。我的键是整数&#xff0c;但代表标签&#xff0c;所以不需要添加&#xff0c;减法等…我最终尝试评估字符串键和整数键字典之间的访问时间&#xff0c;这里是结果。from timeit import TimerDint dict()Dstr dict()fo…

数据库中包含开始时间、结束时间,并且查询条件也有开始时间、结束时间的查询方法...

分类&#xff1a; oracle学习数据库例&#xff1a;考试表中有两个字段&#xff1a;startDate、endDate&#xff0c;分别代表考试开始时间、结束时间。现在需要查询某一时间段内正在进行的考试&#xff0c;实际只要满足考试的时间段和查询条件的时间段有交集即可&#xff0c;包含…

LeetCode 2038. 如果相邻两个颜色均相同则删除当前颜色

文章目录1. 题目2. 解题1. 题目 总共有 n 个颜色片段排成一列&#xff0c;每个颜色片段要么是 ‘A’ 要么是 ‘B’ 。 给你一个长度为 n 的字符串 colors &#xff0c;其中 colors[i] 表示第 i 个颜色片段的颜色。 Alice 和 Bob 在玩一个游戏&#xff0c;他们 轮流 从这个字符…

java代理的学习,通过类实现接口来实现代理。proxy来创建动态类,和InvocationHandler接口的实现,和工作原理。...

1、java自带的proxy类可以创建动态类&#xff0c;如果一个类实现了一个接口那么久可以为这个类创建代理。 2、代理&#xff1a;就是当用户要调用一个类的方法时&#xff0c;用户可以通过调用代理&#xff0c;代理通过接口调用原来的类的方法&#xff0c;代理在把方法给用户前可…