I have two branches one is master and another one level1. Now level1 is the latest I need to hard reset master to level1 normally in git bash I can do that by following command.
$ git checkout master
$ git tag old-master-branch
$ git reset --hard level1
$ git merge -s ours origin/master
$ git push origin master
This one works fine for me. My question is how can I achieve it by using JGit. I have tried it. But I am not able to figure out how to set the source and target branch.
consider a scenario I have cloned a master branch
Git git = Git.cloneRepository().setURI(remote).setCredentialsProvider(new UsernamePasswordCredentialsProvider("obuli", "xxxxxx")).setDirectory(gitPath) .setNoCheckout(true).call();
Now I need to hard reset it to the level1.
git.reset().setMode(ResetType.HARD).call();
But here I am not specifying level1 . I dont know how to specify it. and also please say how to provide git merge -s ours origin/master
in JGit
By default the ResetCommand
resets to HEAD. To reset to another branch, you need to specify this branch with setRef()
.
For example:
git.reset().setMode(ResetType.HARD).setRef("refs/heads/level1").call();
The above command will let the current branch point to the latest commit of level1
and checkout its state into the work directory .
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With