Preventing the push of specific commits
The pre-push hooks are triggered whenever you use the push command and the script execution happens before the push; so, we can prevent a push if we find a reason to reject the push. One reason could be you have a commit that has the nopush
text in the commit message.
Getting ready
To use the Git pre-push, we need to have a remote repository for which we will be cloning jgit
again as follows:
$ git clone https://git.eclipse.org/r/jgit/jgit chapter7.1 Cloning into 'chapter7.1'... remote: Counting objects: 2429, done remote: Finding sources: 100% (534/534) remote: Total 45639 (delta 145), reused 45578 (delta 145) Receiving objects: 100% (45639/45639), 10.44 MiB | 2.07 MiB/s, done. Resolving deltas: 100% (24528/24528), done. Checking connectivity... done. Checking out files: 100% (1576/1576), done.
How to do it...
We want to be able to push to a remote, but unfortunately, Git will try to authenticate through HTTPS for the jgit
repository before the hooks...