idea使用git更新代码 :

选中想要更新的项目,右键点击 git => repository => pull

这样使用一次后idea会自动建立选中分支的远程跟踪分支,以后可直接点击下图按钮,不需要再选分支,除非要拉取另一分支

update project 的两个选项

说明:为避免在前后相对位置懵逼,先讲明越靠后的提交越新,越顶端的提交越新

git merge

git merge b # 将b分支合并到当前分支

图解(主分支master git rebase test)

      D---E test
/
A---B---C---F master

使用merge合并:

      D--------E
/ \
A---B---C---F----G

工作流

git pull  (或fetch && merge)
编辑冲突文件
git pull

git rebase

git rebase 目标分支

rebase:翻译成中文是重新设定

git rebase 你其实可以把它理解成是“重新设置基线”,将你的当前分支重新设置开始点。

rebase会把你当前分支的 commit 放到最后面,将rebase后的目标分支的commit当作基点放在前面,通俗的说就是将目标分支的提交作为你当前分支的基点,所以叫变基

图解(主分支master git rebase test)

      D---E test
/
A---B---C---F master git rebase test合并:
A---B---D---E---C'---F' test, master

如图主分支的基点变成了test的几个commit,可能会覆盖别人代码,所以不要在公共分支使用rebase

工作流

git rebase
while(存在冲突) {
git status
找到当前冲突文件,编辑解决冲突
git add -u
git rebase --continue
if( git rebase --abort )
break;
}

区别

  • 两个使用场景是不一样的,merge只是合并目标分支的内容,rebase也合并另外一个分支的内容,但是会把本分支的commits顶到最顶端
  • git merge 会生成一个新的合并节点,而rebase不会

使用场景

  • 都在同一个分支开发,为了提交记录更好的可读性,用
    git pull --rebase origin master
  • 开发分支拉取主分支时。为了让你最新开发的提交记录在最前面,也建议用rebase

假设我们现在有3个分支

  • master分支:线上环境使用的分支
  • testing分支:测试环境使用的分支
  • my_feature分支:开发新功能的分支,也就是当前分支

A. 假设我在my_feature上开发了一段时间,之后另外的同事开发的功能正式上线到master分支了,那么我可以在当前的分支下rebase一下master分支,这样我这个分支的几个commits相对于master还是处于最顶端的,也就是说rebase主要用来跟上游公共分支同步,同时把自己的修改顶到最上面

B. 我在my_feature上开发了一段时间了,想要放到testing分支上,那就切到testing,然后merge my_feature进来,因为是个测试分支,commits的顺序无所谓,也就没必要用rebase (当然你也可以用rebase)

注意

  • 不要在公共分支使用rebase拉取其他分支,rebase会打乱时间线,使远程仓库和本地仓库对不上,导致其他人无法推送代码

  • 使用git pull时默认是merge, 加 --rebase参数使其使用rebase方式 : git pull --rebase

idea使用git更新代码 : update project(git merge、git rebase)的更多相关文章

  1. git更新失败Probably the path to Git executable is not valid

    git更新代码失败 检查setting配置,发现路径配置错误 找对git的安装目录,修改路径后保存即可

  2. git两种合并方法 比较merge和rebase

    18:01 2015/11/18git两种合并方法 比较merge和rebase其实很简单,就是合并后每个commit提交的id记录的顺序而已注意:重要的是如果公司用了grrit,grrit不允许用m ...

  3. Git更新代码到本地

    一段时间没用git,发现一些东西记不住了,这里记一点常用的命令. 正规流程 git status(查看本地分支文件信息,确保更新时不产生冲突) 若出现冲突,会有提示的 git checkout – [ ...

  4. git 更新代码到本地

    正规流程 git status(查看本地分支文件信息,确保更新时不产生冲突) git checkout – [file name] (若文件有修改,可以还原到最初状态; 若文件需要更新到服务器上,应该 ...

  5. git更新代码出现错误

    git  pull代码时,出现如下的错误: SSL certificate problem: unable to get local issuer certificate 主要的原因是:没有ssl证书 ...

  6. git 更新代码

    https://jingyan.baidu.com/album/ab69b2707882f52ca7189f14.html?picindex=7 git commit:将本地修改过的文件提交到本地库 ...

  7. eclipse导入maven项目后依赖jar包更新问题->update project按钮

    eclipse导入maven项目后依赖jar包更新问题 1.eclipse有专门的导入maven项目按钮,file-import-maven project,eclipse会自动查找指定路径下的pom ...

  8. Git提交代码规范 而且规范的Git提交历史,还可以直接生成项目发版的CHANGELOG(semantic-release)

    Git提交代码规范 - 木之子梦之蝶 - 博客园 https://www.cnblogs.com/liumengdie/p/7885210.html Commit message 的格式 Git 每次 ...

  9. Git更新代码

    此次更新,创建新的文件与文件夹,并且删除了原有文件 通过“git status” 命令查看当前变更.通过变更信息可以看出,删除了test_case.py文件.这个删除只是在项目目录下进行删除,Git对 ...

随机推荐

  1. python学习笔记(十六)-Python多线程多进程

    一.线程&进程 对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程, ...

  2. Windows环境下实现WireShark抓取HTTPS

    https 加密传输,Wireshark 没有设置的情况下是没有办法抓到包的 https 的数据包. 设置系统环境变量(SSLKEYLOGFILE) WireShark 设置 SSL 选项 参考文章: ...

  3. 简述编写Django应用的基本步骤

    (1)创建项目,cd到一个你想要放置你代码的目录.Django -admin startproject mysite. Django project即一个Django项目实例需要的设置项的集合,包括数 ...

  4. 浅谈语音质量保障:如何测试 RTC 中的音频质量?

    日常音视频开会中我们或多或少会遭遇这些场景:"喂喂喂,可以听到我说话吗?我听你的声音断断续续的","咦,我怎么可以听到回声?","太吵啦,我听不清楚你 ...

  5. JavaFx全局快捷键实现(Kotlin)

    原文地址: JavaFx全局快捷键实现(Kotlin) | Stars-One的杂货小窝 最近整款工具需要用到全局快捷键,搜集了下网上的资料,发现有个JIntellitype库可以用来实现全局快捷键, ...

  6. iOS Swift逻辑运算符

    运算符 运算符分类 从操作数角度看:运算符包括一元.二元.三元.这里的一二三指操作数的数量,操作数指的是被操作的数值. 从运算符位置看:运算符分为前缀.中缀.后缀.例如:!b, b + c, c! 赋 ...

  7. C#开发BIMFACE系列43 服务端API之图纸拆分

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在上一篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>的最后留了一个问题,在常规业务场景下,一 ...

  8. 如何在 Serverless K8s 集群中低成本运行 Spark 数据计算?

    作者 | 柳密 阿里巴巴阿里云智能 ** 本文整理自<Serverless 技术公开课>,关注"Serverless"公众号,回复"入门",即可获取 ...

  9. 精准容量、秒级弹性,压测工具 + SAE 方案如何完美突破传统大促难关?

    作者 | 代序 阿里云云原生技术团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",即可获取系列文 ...

  10. 利用水文分析方法提取山脊线和山谷线(ArcPy实现)

    一.背景 作为地形特征线的山脊线.山谷线对地形.地貌具有一定的控制作用.它们与山顶点.谷底点以及鞍部点等一起构成了地形起伏变化的骨架结构.同时由于山脊线具有分水性,山谷线具有合水性特征,使得它们在地形 ...