我可以通过 JGit 从 GitLab 克隆,但是当我去推送更改时,我收到一条not authorized错误消息。
三个更重要的细节:
我拥有该存储库,因此只读访问不存在问题。
该存储库是私有的,因此我知道 OAuth 2 令牌是有效的并且正在初始克隆中使用。
我只有用户名和 oauth2 令牌。我没有用户的密码、SSH 密钥或个人访问令牌。
这是我的克隆命令:
Git.cloneRepository()
.setURI(target)
.setDirectory(repoFolder)
.setCloneAllBranches(true)
.setCredentialsProvider(new UsernamePasswordCredentialsProvider("oauth2", token))
.call();
Run Code Online (Sandbox Code Playgroud)
这是我的推送命令:
PushCommand push = cloneSource.push();
push.setRemote(target);
push.setPushAll();
push.setCredentialsProvider(new UsernamePasswordCredentialsProvider("oauth2", token));
push.call();
Run Code Online (Sandbox Code Playgroud)