背景
需要开发一套管理系统,需要使用Jgit公共jar包完成java代码对Git的操作。
引入jar包版本:
org.eclipse.jgit:org.eclipse.jgit:5.1.3.201810200350-r
代码:
public void pushExistProject(File directory) {
try {
Git git = Git.open(directory);
git.add().addFilepattern(".").call();
git.commit().setCommitter(COMMITTER_NAME, COMMITTER_EMAIL)
.setMessage("提交信息").call();
StoredConfig config = git.getRepository().getConfig();
config.setString(REMOTE, DEFAULT_REMOTE_NAME, URL, avaTemplateUrl);
config.save();
git.push().setRemote(DEFAULT_REMOTE_NAME)
.setRefSpecs(new RefSpec(String.format("%s:%s", avaTemplateBranch, avaTemplateBranch)))
.setCredentialsProvider(credentialsProvider)
.setForce(true)
.call();
} catch (Exception e) {
log.error("git push error", e);
}
}
问题
删除了文件,但是push成功后,码云代码无变化。
解决
代码
git.add().addFilepattern(".").call();
改成
git.add().setUpdate(true).addFilepattern(".").call();
源码默认update = false