Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Git: Mastering Version Control

You're reading from   Git: Mastering Version Control ...

Arrow left icon
Product type Course
Published in Oct 2016
Publisher
ISBN-13 9781787123205
Length 861 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (4):
Arrow left icon
Ferdinando Santacroce Ferdinando Santacroce
Author Profile Icon Ferdinando Santacroce
Ferdinando Santacroce
Aske Olsson Aske Olsson
Author Profile Icon Aske Olsson
Aske Olsson
Jakub Narębski Jakub Narębski
Author Profile Icon Jakub Narębski
Jakub Narębski
Rasmus Voss Rasmus Voss
Author Profile Icon Rasmus Voss
Rasmus Voss
Arrow right icon
View More author details
Toc

Table of Contents (36) Chapters Close

Git: Mastering Version Control
Credits
Preface
1. Getting Started with Git FREE CHAPTER 2. Git Fundamentals – Working Locally 3. Git Fundamentals – Working Remotely 4. Git Fundamentals – Niche Concepts, Configurations, and Commands 5. Obtaining the Most – Good Commits and Workflows 6. Migrating to Git 7. Git Resources 8. Navigating Git 9. Configuration 10. Branching, Merging, and Options 11. Rebase Regularly and Interactively, and Other Use Cases 12. Storing Additional Information in Your Repository 13. Extracting Data from the Repository 14. Enhancing Your Daily Work with Git Hooks, Aliases, and Scripts 15. Recovering from Mistakes 16. Repository Maintenance 17. Patching and Offline Sharing 18. Git Plumbing and Attributes 19. Tips and Tricks 20. Git Basics in Practice 21. Exploring Project History 22. Developing with Git 23. Managing Your Worktree 24. Collaborative Development with Git 25. Advanced Branching Techniques 26. Merging Changes Together 27. Keeping History Clean 28. Managing Subprojects – Building a Living Framework 29. Customizing and Extending Git 30. Git Administration 31. Git Best Practices Bibliography
Index

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...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image