github には master と development の 2 つのブランチがあります。新しく作成したファイルを開発ブランチにプッシュしたい。
String user = "user";
String password = "password";
String localPath = "local";
String remotePath = "https://github.com/some/git.git";
Git.cloneRepository().setBranch("refs/heads/development").setURI(remotePath).setDirectory(new File(localPath)).call();
Git localGit = Git.open(new File(localPath));
localGit.checkout().setName("origin/development").setUpstreamMode(SetupUpstreamMode.TRACK).call();
new File("local/test").createNewFile();
localGit.add().addFilepattern(".").call();
localGit.commit().setMessage("message").call();
localGit.push().setCredentialsProvider(new UsernamePasswordCredentialsProvider(user, password)).call();
私が得るものは
TransportException: Nothing to push.
何が問題なのですか?
更新: チェックアウト コマンドを削除することで機能させることができました。クローンは指定されたブランチをすでにチェックアウトしているため、以前はわかりませんでした。