有没有办法使用JGit API从远程URL克隆,我可以在某处更改默认情况下的原点,并将其设为origin2
,因为在origin
还有另一个远程构造
答案 0 :(得分:2)
您可以使用CloneCommand::setRemote()
更改即将克隆的存储库的远程名称。默认情况下,它名为origin
。
通过直接操作Git配置,您也可以在添加远程名称后更改它:
Repository repository = ...;
String oldName = "origin";
String newName = "other-origin";
StoredConfig config = repository.getConfig();
Set<String> names = config.getNames( ConfigConstants.CONFIG_REMOTE_SECTION, oldName );
for( String name : names ) {
String value = config.getString( ConfigConstants.CONFIG_REMOTE_SECTION, oldName, name );
config.setString( ConfigConstants.CONFIG_REMOTE_SECTION, newName, name, value );
}
config.unsetSection( ConfigConstants.CONFIG_REMOTE_SECTION, oldName );
config.save();
要添加新遥控器,请使用RemoteAddCommand
,如下所示:
git.remoteAdd().setName( "new-remote" ).setUri( new URIish( "..." ) ).call();