java中jgit中checkout_JGit 切换分支
JGit切换分支的时候,有两种情况,一种是在本地已修建过这个分支,一种是本地没有这个分支,需要从远程拉取。如下面代码所示:
/**
*
*
* Description:判断本地分支名是否存在
*
*
* @param git
* @param branchName
* @return
* @throws GitAPIException
* @author wgs
* @date 2019年7月20日 下午2:49:46
*
*/
public boolean branchNameExist(Git git, String branchName) throws GitAPIException {
List refs = git.branchList().call();
for (Ref ref : refs) {
if (ref.getName().contains(branchName)) {
return true;
}
}
return false;
}
/**
*
*
Description:切换分支,并拉取到最新
* @param repoDir
* @param branchName
* @author wgs
* @date 2019年7月20日 下午4:11:45
*
*/
public void checkoutAndPull(String repoDir, String branchName) {
try {
Repository existingRepo = new FileRepositoryBuilder().setGitDir(new File(repoDir)).build();
Git git = new Git(existingRepo);
try {
if (this.branchNameExist(git, branchName)) {//如果分支在本地已存在,直接checkout即可。
git.checkout().setCreateBranch(false).setName(branchName).call();
} else {//如果分支在本地不存在,需要创建这个分支,并追踪到远程分支上面。
git.checkout().setCreateBranch(true).setName(branchName).setStartPoint("origin/" + branchName).call();
}
git.pull().call();//拉取最新的提交
} finally {
git.close();
}
} catch (IOException | GitAPIException e) {
e.printStackTrace();
}
}
java中jgit中checkout_JGit 切换分支相关推荐
- java中jgit中checkout_java – JGit branch checkout问题
我正在使用以下代码从 github检出存储库. private String url = "https://github.com/organization/project.git" ...
- java中jgit中checkout,如何在JGit中合并?
How do I merge in JGit? Let's say I want to merge master with foo branch, how do I do this? 解决方案 To ...
- 切换分支 更改只影响当前分支代码_idea 中分支管理操作的意思
1.Checkout (切换分支) 当前分支:app 即将打开:app_develop 操作:Checkout 效果:从 app切换到 app_develop分支上. 2.New Branch fro ...
- java中分支_[Java教程]JavaScript中的分支结构
[Java教程]JavaScript中的分支结构 0 2016-06-30 23:03:37 说到JavaScript中的分支结构,我们就不得不提到流程控制这个词,我们所有的程序都是由数据和算法组成的 ...
- git 怎么切换分支命令_如何在Git中切换分支
本指南向你展示了如何在Git项目中切换分支. 前提条件Git项目访问终端窗口/Linux系统命令行 签出命令以切换分支 访问命令行并使用checkout命令签出要使用的分支:git checkout ...
- idea中切换分支开发
工作中使用git协同开发时会有不同的分支,master分支一般是不动的,最终代码才会合进去,开发都是单独的开发分支,测试用测试分支.这里记录一下使用idea切换分支. 首先贴一张图: git的工作流程 ...
- 关于git切换分支中遇到的一些实际问题
在实际项目开发中,如果你正在写一些功能,但是还没写完,你的领导突然让你修改一些bug,此时你需要切换到别的分支,这时候你怎么做? /* 假设此时 有两个分支 master 和 test,在test分支 ...
- java流程图中平行四边形代表什么_程序流程图中通常用平行四边形表示分支结构...
程序流程图中通常用平行四边形表示分支结构 答:错 DES的分组长度和有效密钥长度分别为( ) 答:64,56 若采用2∶1的比例绘制一个直径为20的圆时,其绘图直径为40,标注尺寸为40. 答:错 某 ...
- java技术体系中的三个主要分支是_计算智能的三个主要分支及其应用
1.摘要 在计算机科学领域, 一个最有意义, 也是空前困难的挑战性问题就是对人类智能的模拟.计算智能三借助现代计算工具模拟人的智能机制,生命演化和人工智能行为而进行的信息获取.处理(求解问题).利用的 ...
最新文章
- PatchMatchStereo中的深度/视差传播策略
- 山东计算机基础模拟题及答案,2016山东农信社考试模拟题--计算机基础知识答案(1)...
- 怎么查看linux是不是as7u4,Linux下搭建Android开发环境
- 干货|知道Excel这9个小技巧,不做二傻子!
- win10文件夹加密_(十六)小众但好用:免费开源免注册的同步盘加密工具 Cryptomator...
- App送审,4.3问题怎样处理
- Java中的switch分支语句
- java list详解_java集合List解析
- 简单树组织数据格式化为标准树组织数据
- 125万像素智能相机收费站解决方案
- 《Linux内核修炼之道》——2.2 编译内核
- feign调用https接口_SpringCloudFeign远程调用
- angularjs+ionic+'h5+'实现二维码扫描功能
- HDU-3072-IntelligenceSystem(tarjan,贪心)
- Creator+微信小游戏:(3)微信openID获取(https、wss问题)
- 视频转换器如何将腾讯QLV格式转换成MP4视频文件 1
- 人脸识别一体机解决方案
- 黑马程序员——java 泛型
- 视觉能力提升112%!李飞飞团队让AI进入社会,学会了“骗”标注…
- 一致性哈希算法原理详解