git 克隆代码库到目标路径

 public static boolean cloneUrl(String url, String user, String password, File dir) {
	String pullMsg = "";
	// 标记拉取代码的标志
	int pullFlag = 0;
	// 提供用户名和密码的验证
	UsernamePasswordCredentialsProvider provider = new UsernamePasswordCredentialsProvider(user, password);
	// 指定要加载的代码路径
	if (dir.exists()) {
		deleteFolder(dir);
	}
	Git git = null;
	try {
		git = Git.cloneRepository().setURI(url).setDirectory(dir).setCredentialsProvider(provider).call();
		pullMsg = "检出代码成功 success";
	} catch (Exception e) {
		return false;
	} finally {
		System.out.println(pullMsg + "--code--" + pullFlag);
		if (git != null) {
			git.close();
		}
	}
	return true;
}
@Deprecated
private static void deleteFolder(File file) {
	try {
		if (file.isFile() || file.list().length == 0) {
			file.delete();
		} else {
			File[] files = file.listFiles();
			for (File getFile : files) {
				deleteFolder(getFile);
				getFile.delete();
			}
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
}
posted @ 2020-12-14 19:35  来一杯coffee  阅读(236)  评论(0)    收藏  举报