背景
由于项目中要对git进行操作,所以使用了JGit,不过由于公司在push代码时必须对user及email进行验证,否则提交失败,而项目是部署在云上,没有权限安装git客户端全局设置user及email,于是乎直接在jgit中设置user及email
操作
首先看一下git设置user及email的命令
git config --list #查看配置列表
git config --global user.name "OA账号" #设置user
git config --global user.email "公司邮箱" #设置email
切换到JGit如何操作?
方式一:直接在项目初始化的时候设置
在首次 pull 或者 create 本地仓库的时候追加如下代码
#create 时设置
FileRepositoryBuilder builder = new FileRepositoryBuilder();
Repository repository = builder.setGitDir(new File("/my/git/directory"))
.readEnvironment()
.findGitDir()
.build();
#获取配置
StoredConfig config = repository.getConfig();
#设置用户及邮箱
config.setString("user",null,"user","myUser");
config.setString("user",null,"email","myEmail");
方式二:
既然在初始化的时候不设置那么我们可以在每次commit的时候就把user和email带上
git.commit().setAmend(true).setAuthor("myUser","myEmail").setMessage(message).call();
这样就不用在本地仓库或者全局设置user和email
以上 JGIT配置user及email配置