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

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

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

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

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

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

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

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

场景六:小袁把分支提交到远程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库。Pull则是直接下载并合并。如果各成员在工作中都执行修改前先更新的规范,则可以直接使用Pull方式以简化操作。

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

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

创建流程如下:

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

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

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

如下图,点击Checkout

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

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

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

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

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

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

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

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

切换到master分支,选择Merge Changes

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

idea中git如何切换到master_IDEA中Git的使用相关推荐

  1. bash git 如何切换目录_【git】命令行与本地仓库/远程仓库

    终端里如何复制粘贴 在cmder里 粘贴是鼠标右键 粘贴时shift+Insert 复制是用鼠标选中即自动复制 在Git Bash里 粘贴是鼠标中键 粘贴时shift+Insert 复制是用鼠标选中, ...

  2. 计算机表格行列,excel表格中行列数据切换-在excel中如何切换图表的行/列数据

    Word表格中怎样进行行列互换 excel表格如何部分行列置换 Excel中实现行列互换的具体操作知如下: 1.打开excel. 2.选中表格,然后点击[复制]. 3.选择一个空白单元格. 4.点击[ ...

  3. fetch git pull 切换_每天提交 Git 太烦?直接用 Python 就好了!

    作者:匿蟒 链接:https://note.qidong.name/2018/01/gitpython 对于协作开发的项目,每天开发前后更新和提交 Git 仓库是基本操作.但作为总是想偷懒的程序员,一 ...

  4. 【Git】切换分支,以及git stash的使用

    问:怎样在不commit的情况下,拉取别人的代码 / 切换到本地某次commit? 更新项目步骤 可以先执行git stash 将本地修改保存起来. 这样本地就干净了.再使用git status,看不 ...

  5. git 怎么切换分支命令_如何在Git中切换分支

    本指南向你展示了如何在Git项目中切换分支. 前提条件Git项目访问终端窗口/Linux系统命令行 签出命令以切换分支 访问命令行并使用checkout命令签出要使用的分支:git checkout ...

  6. 怎样切换git账号密码错误_git中多账号切换问题的解决方案(转)

    git多账号切换其实是有https的解决方案的,可以省去ssh配置公钥相关的麻烦,不过安全性会降低,后面会提到. 比如你想用A账号管理本地仓库repoA,用B账号管理本地仓库repoB. 那么首先,看 ...

  7. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  8. bisect git 使用_Git使用过程中的一些常见场景问题总结

    之前在公司内部推Git,写了一份git使用教程,后来又在团队内部做了一次分享,内容是关于Git使用过程中经常会遇到的一些场景,并有了这份总结. git基础 基于feature的工作流 添加忽略文件 . ...

  9. Git Stash解释:如何在Git中临时存储本地更改

    Git has an area called the stash where you can temporarily store a snapshot of your changes without ...

最新文章

  1. 机械转行的都干啥去了?机械转行计算机难吗?
  2. device tree --- #address-cells and #size-cells property【转】
  3. 【Java面试题】提取不重复的整数
  4. java整合apollo(一)
  5. 云开发系列课程让你从入门到精通快速上手Serverless和云开发技术
  6. 聊一聊Docker与时区
  7. 【Advanced Windows Phone Programming】在windows phone 8中录制MP3和AAC及Amr音频
  8. 小米5刷android p6,小米5刷recovery教程 小米5第三方recovery下载
  9. 解决 MDK 5 无法生成 .axf 文件的问题
  10. [BZOJ4487] [JSOI2015]染色问题
  11. 186.MultiAutoCompleteTextView
  12. 打印机共享计算机密码,打印机共享需要密码怎么办?
  13. 只争朝夕,不负韶华,告别2019,开启2020年新的奋斗征程!
  14. mmdetection(2): DeformableConvNets(DCN)
  15. Python学习:简单的python “hello,world”程序
  16. 内网时间同步,ntp与ntpdate区别,与ntp服务器搭建
  17. html怎么混合颜色,在CSS中为背景混合两种颜色
  18. 学习 《模型思维》-斯科特·佩奇 笔记 9.29
  19. Go 中 slice 的设计和实现细节(Go 团队撰写的一篇很棒的博文)
  20. Java实现伪查询(全匹配+模糊匹配)

热门文章

  1. 使用BusyBox制作根文件系统的操作步骤
  2. 【原】webpack--plugins,主要解释plugins干了啥
  3. 十六进制转化为十进制
  4. HTML静态网页---标签
  5. Windows Store App 获取文件及文件夹列表
  6. 可视化工具Navicat for MySQL-操作三
  7. WP7 网络请求之WebClient
  8. [网站seo优化] 史上最全增加外链的方法!
  9. typename的作用
  10. 流媒体传输协议系列之--RTSP协议详解