新建一个Java工程并上传到GitHub远程仓库

本文详细介绍了如何使用Eclipse创建一个Java工程,包括新建项目、创建Java文件以及编写简单代码。接着,讲解了配置GitHub的步骤,如设置用户名和邮箱,生成SSH公钥,并将代码上传到GitHub的过程。最后,演示了如何在GitHub上创建新的仓库,以及如何将本地项目推送到GitHub仓库。
摘要由CSDN通过智能技术生成

用eclipse新建一个Java工程

1.file->New->Java Project

2.给工程命名为project_1,点击finish完成工程创建

3.在src文件下新建一个类创建一个Java文件.随便命名为project_one,点击finish完成创建

4.打开新建的Java文件就可以写Java代码了。新建一个文件输出 hello Java!

 

 将代码上传到GitHub

1.设置用户名和邮件地址window->preferences->git->configuration

2.设置公钥并复制备用: window->preferences->SSH2->Key Management->generate RSA Key->复制密码即蓝色字体 并进入到GitHub网站登录自己的GitHub账号

3.进入账号右边头像三角下拉菜单 setting->SSH and GPG keys->New GPG key

4.将复制的之前复制的密码复制到这里,公钥生成

在GitHub上新建一个仓库

1.进入GitHub登录如图点击new

 

2.给仓库命名为project_one,选择Public,点击Create repository即创建成功

将代码上传到本地仓库

1.选中要上传的项目右键->team->share project->Create Repository->finish 完成后文件会出现一个金色圆柱图标

2.选中要上传的项目右键->team->commit,在commit message随便输入文字不能为空,再选中需要上传的文件,commit,完成上传到本地仓库操作

 

将本地仓库的代码上传到GitHub仓库

1.将GitHub上仓库地址进行复制

 2.回到工程文件如图操作

3.将刚才复制的地址粘贴在此,Next

 

4.如图操作,finish

 5.上传成功后会显示成功提示,到GitHub仓库中刷新即可看到上传的文件

至此,工程的创建以及上传到GitHub仓库就完成了。 

 

 

 

 

 

 

 

要使用Java代码上传文件到GitHub,可以使用GitHub API。以下是一个示例代码: ```java import org.apache.commons.codec.binary.Base64; import org.apache.http.HttpHeaders; import org.apache.http.HttpStatus; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPut; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class GitHubUploader { private static final String API_URL = "https://api.github.com/repos/{owner}/{repo}/contents/{path}"; private final String owner; private final String repo; private final String token; public GitHubUploader(String owner, String repo, String token) { this.owner = owner; this.repo = repo; this.token = token; } public void uploadFile(String path, File file) throws IOException { String content = Base64.encodeBase64String(readFile(file)); String apiUrl = API_URL .replace("{owner}", owner) .replace("{repo}", repo) .replace("{path}", path); CloseableHttpClient client = HttpClients.createDefault(); HttpPut request = new HttpPut(apiUrl); addHeaders(request); addRequestBody(request, content); CloseableHttpResponse response = client.execute(request); if (response.getStatusLine().getStatusCode() == HttpStatus.SC_CREATED) { System.out.println("File uploaded successfully"); } else { System.err.println("Failed to upload file: " + response.getStatusLine()); } EntityUtils.consume(response.getEntity()); response.close(); client.close(); } private void addHeaders(HttpRequestBase request) { request.setHeader(HttpHeaders.ACCEPT, "application/vnd.github+json"); request.setHeader(HttpHeaders.AUTHORIZATION, "token " + token); request.setHeader(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON.getMimeType()); } private void addRequestBody(HttpPut request, String content) { String body = String.format("{\"message\":\"Upload %s\",\"content\":\"%s\"}", request.getURI().getPath(), content); request.setEntity(new StringEntity(body, ContentType.APPLICATION_JSON)); } private byte[] readFile(File file) throws IOException { try (FileInputStream inputStream = new FileInputStream(file)) { byte[] buffer = new byte[(int) file.length()]; inputStream.read(buffer); return buffer; } } } ``` 在使用时,你需要替换以下三个参数: - `owner`:你的GitHub用户名或组织名; - `repo`:你要上传文件的仓库名称; - `token`:一个GitHub Personal Access Token,用于进行API授权。 然后可以调用 `uploadFile` 方法上传文件。例如: ```java GitHubUploader uploader = new GitHubUploader("username", "repo-name", "personal-access-token"); File file = new File("/path/to/file.txt"); uploader.uploadFile("path/to/file.txt", file); ``` 这将会在 `repo-name` 仓库的 `path/to/file.txt` 路径下上传 `file.txt` 文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值