IDEA 整合Git

可以在IDEA中Terminal中进行git操作

下面所说的快捷键操作都只是对于IDEA中

拉取提交代码

  • git pull 从远程仓库更新代码 (ctrl+t)
  • git commit 将本地代码提交至本地仓库 (ctrl+k)
  • git push 将本地仓库提交的代码提交至远程仓库 (ctrl+shift+k)

合版本常用命令

  • git merge branch 将本地仓库branch 合并至本分支
  • git rebase branch 将本地仓库branch 合并至本地分支 但是为类似重新将自动的代码提交 也就是自己的commit放到分支的最前面

  • git cherry-pick commitVersion 将该commit 重新提交至本分支
  • git cherry-pick commitVersion1..commintVersion2 将commintVersion1到2的重新提交至本分支 闭包
  • git cherry-pick commitVersion1 commintVersion2 挑选多个commit

git cherry-pick 版本冲突与解决。

  1. git cherry-pick --quit // 中断这次cherry-pick 操作
  2. 手动解决冲突 // 但是如果你用idea进行cherry-pick的话 那就只要手点掉冲突代码就好了
  3. git cherry-pick --continue // 继续操作
  4. git commit 提交至本地仓库

如果这个时候你很慌,不知道这么解决,那么就用

git cherry-pick --abort // 流产 意思就是回退到 你没有cherry-pick之前

  • git reset version 将本地代码版本回退至version版本 回滚至该commit的version

  • git revert version 撤销本地仓库push到远程仓库的这次commit

常规git操作

  • git config user.name yourName 配置git提交用户名
  • git config user.email yourEmail 配置git提交邮箱
  • git checkout -b branch version 新建本地仓库分支 代码版本号到version的
  • git stat 查看修改代码
  • git log 查看提交历史
  • git reflog 查看git操作记录
  • git clone -b origin-branch http://.......git 克隆该分支上的远程仓库至本地

临时改bug操作

  • git stash save "备注" 将所修改的代码进行一个快照 本地代码变成 该分支上最新的代码
  • git stash list 查看快照列表
  • git stash pop stash@{0} 恢复stash@{0}的快照版本

我碰到最多的场景

  1. 当都在release-branch开发的时候,各自都将本地的仓库的代码提交了至远程仓库,这个时候。我们要把自己的代码合到master分支上。那么这个时候,用cherry-pick就好了。有冲突的话,就手动解决一下。
  2. 开发到中途的时候,临时在A项目中要该一个bug,这个时候,我已经在A中写了很多代码了。这个时候,用git stash将自己写的代码存到缓存中。改完了bug,在git unstash 对应的版本。

IDEA中快速操作:

git使用姿势的更多相关文章

  1. 玩了一天的Git

    今天的逗比事 Git从学习到使用,也有2个月时间了,一开始也就看看廖雪峰老师的Git教程,跟着做了一遍,感觉非常受用. 遇到一些忘掉的命令,再回去查查也基本都没问题. 但是今天缺遇到了逗比事,回过头来 ...

  2. 如何写好git commit message

    1.触发事件 我有这样一个版本库,里面包含两个学习用的练习项目:BookStore(以下简称BS)和PictureFriend(以下简称PF) 我在更改PF以后,未进行提交,同时又到BS中优化了一下文 ...

  3. Git回退到服务器某个版本正确姿势

    背景: Git协作中,成员不可避免地会提交一些错误的版本,由于Git相比SVN引入了本地仓库,操作会相对复杂,以下为姿势分解 找一个源文件RspUtils.java,加上一行注释 //测试回退git服 ...

  4. Git 提交的正确姿势

    Git 提交的正确姿势:Commit message 编写指南 SCOP范围 middleware core config plugin test type范围 Git 每次提交代码,都要写 Comm ...

  5. (转)Git 提交的正确姿势:Commit message 编写指南

    Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交. $ git commit -m "hello world" 上面代码的-m参数,就是用来 ...

  6. 使用git的正确姿势

    1.Windows上安装git:从https://git-for-windows.github.io下载msysgit. 2.linux(Debian或Ubuntu)安装git:sudo apt-ge ...

  7. 查看,添加和删除GIT配置的正确姿势

    查看GIT所有配置的命令: git config --list 查看GIT全局配置的命令: git config --global --list 添加GIT全局配置(HTTPS代理) git conf ...

  8. git命令行工作的正确姿势

    git命令行创建并提交新分支到mater分支的常规步骤 git branch new_branch git status 查看修改的文件 git add changed_files git commi ...

  9. 【Git】Git提交代码的正确姿势

    按此步骤基本没问题,中间有conflict,需要手动解决. 1.git stash 2.git pull 3.git stash pop 4.git add --xxx 5.git commit -m ...

随机推荐

  1. 61. Rotate List(M);19. Remove Nth Node From End of List(M)

    61. Rotate List(M) Given a list, rotate the list to the right by k places, where k is non-negative. ...

  2. vue.js初识(一)

    vue.js安装 官网:http://cn.vuejs.org/ 官方安装介绍:http://cn.vuejs.org/v2/guide/installation.html MVVM框架:View.V ...

  3. Nested Loops(嵌套循环)

    先扫描驱动表的(外表),外表的每一行驱动内表,然后匹配,所以nest loops不是主要依赖于内表有多少行,而是非常依赖于驱动表到底有多少行参与nested loops,因为驱动表(或者准确的说是驱动 ...

  4. 如何修改Linux的TTL值

    原文地址:http://www.linuxidc.com/Linux/2011-11/47701.htm 网络黑客如果用ping命令去探测  一个主机,根据TTL基数可以推测操作系统的类型.对于一个没 ...

  5. bzoj千题计划272:bzoj4557: [JLoi2016]侦察守卫

    http://www.lydsy.com/JudgeOnline/problem.php?id=4557 假设当前到了x的子树,现在是合并 x的第k个子树 f[x][j] 表示x的前k-1个子树该覆盖 ...

  6. CF #442 div2

    A 判断下5个名字出现了几次.pre数据巨弱,就这么一水题在std测刷掉了非常多的人.. /** @Date : 2017-10-24 16:04:41 * @FileName: A.cpp * @P ...

  7. 编写 grunt 插件经验

    第一步: 先生成插件模板: 利用命令生成, 首先通过github工具获取gruntplugin模板文件: 第二步: 了解plugin/tasks/taskName.js的registerMultiTa ...

  8. Windows bat 学习(初级)

    http://steve-jansen.github.io/guides/windows-batch-scripting/part-1-getting-started.html 注释:REM 或 :: ...

  9. MongoDB 之 手把手教你增删改查 MongoDB - 2

    我们在  MongoDB 之 你得知道MongoDB是个什么鬼 MongoDB - 1  中学习了如果安装部署一个 MongoDB 如果没看到我的金玉良言的话,就重新打开一次客户端和服务端吧 本章我们 ...

  10. 为什么要使用断路器Hystrix?

    为什么需要 Hystrix? 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(RPC).为了保证其高可用,单个服务又必须集群部署.由于网络原因或者自身的原因,服务并不能保证服 ...