Best practices with git - The essentials you should know about git to use if efficiently
Workshop by Otto Kekäläinen at OpenFest 7.11.2015, Sofia, Bulagaria.
This 68 slides beast surely has something new even for seasoned git developers!
Introduction to Gitlab | Gitlab 101 | Training SessionAnwarul Islam
I actually described in this slide how to use Gitlab with git. I explained what is git, push, pull, clone, commit etc. so, you can use this slide to learn or tech someone.
Best practices with git - The essentials you should know about git to use if efficiently
Workshop by Otto Kekäläinen at OpenFest 7.11.2015, Sofia, Bulagaria.
This 68 slides beast surely has something new even for seasoned git developers!
Introduction to Gitlab | Gitlab 101 | Training SessionAnwarul Islam
I actually described in this slide how to use Gitlab with git. I explained what is git, push, pull, clone, commit etc. so, you can use this slide to learn or tech someone.
Découvrez les principes et fonctionnalités essentielles de git. Soyez prêts à travailler en 3 heures.
La dernière version est disponible en téléchargement direct à cette adresse : http://giant-teapot.org/uploads/tutorials/git_tutorial.pdf
Diaporama pour la formation git réalisée pour l'association Atilla, septembre 2012.
Through this tutorial, you can learn Git & GitHub fundamentals very easily. I have explained both theory and practical. I hope you will enjoy it. Happy Git.!!
Do you know the basics of Git but wonder what all the hype is about? Do you want the ultimate control over your Git history? This tutorial will walk you through the basics of committing changes before diving into the more advanced and "dangerous" Git commands.
Git is an open source, distributed version control system used to track many different projects. You can use it to manage anything from a personal notes directory to a multi-programmer project.
This tutorial provides a short walk through of basic git commands and the Git philosophy to project management. Then we’ll dive into an exploration of the more advanced and “dangerous” Git commands. Watch as we rewrite our repository history, track bugs down to a specific commit, and untangle commits into an LKML-worthy patchset.
Two days git training with labs
First day covers git basis and essential commands
Second day covers git additional command with a big lab using a git workflow
Mistakes happen - no matter how experienced you are. Using Git as your version control system, however, you have a safety net that helps you if it comes to the worst. Learn how to undo, roll back, and recover from mistakes.
Découvrez les principes et fonctionnalités essentielles de git. Soyez prêts à travailler en 3 heures.
La dernière version est disponible en téléchargement direct à cette adresse : http://giant-teapot.org/uploads/tutorials/git_tutorial.pdf
Diaporama pour la formation git réalisée pour l'association Atilla, septembre 2012.
Through this tutorial, you can learn Git & GitHub fundamentals very easily. I have explained both theory and practical. I hope you will enjoy it. Happy Git.!!
Do you know the basics of Git but wonder what all the hype is about? Do you want the ultimate control over your Git history? This tutorial will walk you through the basics of committing changes before diving into the more advanced and "dangerous" Git commands.
Git is an open source, distributed version control system used to track many different projects. You can use it to manage anything from a personal notes directory to a multi-programmer project.
This tutorial provides a short walk through of basic git commands and the Git philosophy to project management. Then we’ll dive into an exploration of the more advanced and “dangerous” Git commands. Watch as we rewrite our repository history, track bugs down to a specific commit, and untangle commits into an LKML-worthy patchset.
Two days git training with labs
First day covers git basis and essential commands
Second day covers git additional command with a big lab using a git workflow
Mistakes happen - no matter how experienced you are. Using Git as your version control system, however, you have a safety net that helps you if it comes to the worst. Learn how to undo, roll back, and recover from mistakes.
Seven Ineffective Coding Habits of Many ProgrammersKevlin Henney
Presented at NDC 2014 in Oslo (4th June 2014)
Video available on Vimeo: https://vimeo.com/97329157
Habits help you manage the complexity of code. You apply existing skill and knowledge automatically to the detail while focusing on the bigger picture. But because you acquire habits largely by imitation, and rarely question them, how do you know your habits are effective? Many of the habits that programmers have for naming, formatting, commenting and unit testing do not stand up as rational and practical on closer inspection.
This talk examines seven coding habits that are not as effective as programmers believe, and suggests alternatives.
This is a presentation give to the Vancouver Drupal users group about moving to GIT as a version control system for a small development team. The presentation details the workflow we settled on, and the git flow method for branch management. You can see a video of the presentation here - http://www.ustream.tv/recorded/13544036
How do you choose a git workflow that increases productivity and reduces the friction of your team? What are the battle tested practices of successful teams that moved to git? How is git used inside Atlassian?
As you might have heard git has many compelling features and has gained incredible momentum in the industry at large. Yet understanding how an enterprise team can adopt it can be daunting. The presentation aims to help answer these questions and more:
- Available collaboration models when using a distributed version control system like git
- Branching models that foster and enhance parallel development
- Emerging code best practices and choices that can be safely adopted when migrating to git
- How Continuous Integration changes when your team embraces git
I was inspired to use GIT much more reliably after reading about Git Flow. I got a little lost until I read "Why Aren't You Using Git Flow?". I decided to do a presentation for OrlandoPHP to try and share my enthusiasm with them.
Thank you to Vincent Driessen and Jeff Kreeftmeijer for being my inspiration.
In these slides, I explained about SDLC and how it differs from Git Flow. How to Build the project with git. And also I covers the content about the connection between git and github.
Git Introduction for beginners. Based on the Atlassian git tutorial.
git init, add, commit, push, pull, remote.
introduction to version controls.
git is a software version control and team management tool.
YouTube Link: https://youtu.be/8Xo3l1zv41I
**DevOps Certification Courses - https://www.edureka.co/devops-certification-training **
This Edureka PPT on ‘Git Interview Questions’ will discuss the most frequently asked questions that you might face in an interview.
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
The Information Technology have led us into an era where the production, sharing and use of information are now part of everyday life and of which we are often unaware actors almost: it is now almost inevitable not leave a digital trail of many of the actions we do every day; for example, by digital content such as photos, videos, blog posts and everything that revolves around the social networks (Facebook and Twitter in particular). Added to this is that with the "internet of things", we see an increase in devices such as watches, bracelets, thermostats and many other items that are able to connect to the network and therefore generate large data streams. This explosion of data justifies the birth, in the world of the term Big Data: it indicates the data produced in large quantities, with remarkable speed and in different formats, which requires processing technologies and resources that go far beyond the conventional systems management and storage of data. It is immediately clear that, 1) models of data storage based on the relational model, and 2) processing systems based on stored procedures and computations on grids are not applicable in these contexts. As regards the point 1, the RDBMS, widely used for a great variety of applications, have some problems when the amount of data grows beyond certain limits. The scalability and cost of implementation are only a part of the disadvantages: very often, in fact, when there is opposite to the management of big data, also the variability, or the lack of a fixed structure, represents a significant problem. This has given a boost to the development of the NoSQL database. The website NoSQL Databases defines NoSQL databases such as "Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open source and horizontally scalable." These databases are: distributed, open source, scalable horizontally, without a predetermined pattern (key-value, column-oriented, document-based and graph-based), easily replicable, devoid of the ACID and can handle large amounts of data. These databases are integrated or integrated with processing tools based on the MapReduce paradigm proposed by Google in 2009. MapReduce with the open source Hadoop framework represent the new model for distributed processing of large amounts of data that goes to supplant techniques based on stored procedures and computational grids (step 2). The relational model taught courses in basic database design, has many limitations compared to the demands posed by new applications based on Big Data and NoSQL databases that use to store data and MapReduce to process large amounts of data.
Course Website http://pbdmng.datatoknowledge.it/
Contact me to download the slides
Git and github - Verson Control for the Modern DeveloperJohn Stevenson
An introduction to Git and Github, tools for distributed version control that give an easy to use and highly collaborative approach to version code and configuration.
As the popularity of Git grows, questions around security and code quality are moving center stage. Learn why the combination of Git/Gerrit and TeamForge form the industry’s leading enterprise-grade solution to manage Git based development programs, both on-premises and in the cloud.
In this webinar, Johannes Nicolai will provide an overview of Git/Gerrit- and why enterprises choose to use the Git-TeamForge integration for unmatched security, scalability and compliance, as well as introduce and demonstrate the power of Gerrit 2.8 with TeamForge:
How you can ensure meeting regulatory and corporate compliance mandates with TeamForge’s tamper-proof audit trails.
How TeamForge provides 100% history protection for accidentally deleted branches and helps you meet the most stringent compliance standards.
How Git, Gerrit and Jenkins reduces the number of manual code reviews by automatically pre-validating builds via Jenkins.
How to graphically design your own review workflows using CollabNet’s Quality Gate Wizard for Gerrit
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Cyaniclab : Software Development Agency Portfolio.pdf
Introduction to git administration
1. Introduction to Git Administration
For New Administrators
Shawn Doyle
ReleaseTEAM Inc
sdoyle@releaseteam.com
www.linkedin.com/in/releaseteam/
http://twitter.com/ReleaseTEAMInc
2. Premium SCM Consulting firm since 1999
Focus on Software Configuration Management
On site and remote consulting services
– Build Automation
– CM tool administration, customization, upgrades, migrations
Classroom training / hands-on mentoring
R
e
l
e
a
s
e
T
E
ClearCase ClearQuest Jenkins
Git RTC Build Forge
SVN Jira Electric Commander
Shawn Doyle - ReleaseTEAM
3.
4. For the administrator new to Git
An overview of Git
Workflows
Common admin tasks
Access control
Triggers
Stories from the trenches
Subversion & Git Presentation
Agenda
Slide 4
6. Git has sprung up in many organizations. Spreading like
a wild fire from the development groups.
– Developers want less restrictions to their productivity
– SCM is always seen as a restriction and rarely a necessary one
SCM admins are finding they need to support Git
regardless of existing corporate standards.
SCM admins need to find a way to control the chaos.
Most commercial SCM tools now support Git as a client.
Don’t panic Git is fun, powerful and it is the future.
Subversion & Git Presentation
Wait.. What? how did this happen
Slide 6
7. DVCS
– Learn the difference
Users
– Training
– Indulging the Git promoter(s)
Many solutions to common problems
– Authentication
– Workflows
– Multiple available UIs
Cleaning up after user mistakes
Subversion & Git Presentation
What am I in for?
Slide 7
8. 1. RTFM http://git-scm.com/book
2. Now that you read the Git book, go thru these tutorials
3. Watch these videos - Google Tech Talks
Linus Torvalds on git
Randal Schwartz on Git
4. RTFW
https://git.wiki.kernel.org/index.php/Main_Page
5. Create a repo and start playing!
Subversion & Git Presentation
How I learned Git
Slide 8
9. Tutorials
http://try.github.io/levels/1/challenges/1 Code School
https://www.atlassian.com/git/tutorial/git-basics Atlassian's Git tutorial
http://gitready.com/ Git Ready
https://www.kernel.org/pub/software/scm/git/docs/everyday.html
Everyday GIT With 20 Commands Or So
Videos - Google Tech Talks
http://www.youtube.com/watch?v=4XpnKHJAok8 Linus Torvalds
http://www.youtube.com/watch?v=8dhZ9BXQgc4 Randal Schwartz
Wiki
https://git.wiki.kernel.org/index.php/GitCommunity|Git Community Wiki
Subversion & Git Presentation
Resources
Slide 9
11. When coming from another SCM system to Git you need
to shift how you think about how version control works.
In a more classic SCM you think of it as a system that
versions files in a tree or directory structure.
Git is better thought of as a system that versions trees of
files.
Biggest Obstacle
12. Stores whole copies of the repo
– No file deltas
– Entire tree is captured at each commit not just the files that
changed, a snapshot of the repo
Branches and tags
– Are pointers to commits
– Very fast and light weight
Subversion & Git Presentation
How Git Works
Slide 12
13. Git is:
– Powerful
– Complex
– Fast (local)
– worthy contender to replace many commercial tools
– the solution you are looking for
Object Storage
– Blobs
– SHA1s or hashes
– Trees
Perl like syntax
– ^ $ ~ …
Subversion & Git Presentation
Not Scared yet?
Slide 13
15. Centralized
– Central repository
Feature Branch
– Central repository + branching per features
Gitflow
– Branches per features, releases and bug fixes
Forking
– Distributed workflow
Workflows
16. Uses a central repository
– single point-of-entry for all changes
– Everyone clones from the central repo
– Everyone pull/pushes from the same repo
Benefits
– SCM Admin can put controls/triggers on the central repo
– Security can be setup using tools like
• Stash
• Gitolite
• Gitosis
– SCM Builds and Deploys can be maintained from a clone of the
central repo.
Centralized
17. Development of features in isolated branches
– Allows features to be developed independently
As a feature is finished it is merged to the master branch
Subversion & Git Presentation
Feature Branch
Slide 17
18. Branches are focused around releases
Branches are also used for
– Release
– Integration or Test
– Features
Strict rules on how and when branches interact
Subversion & Git Presentation
Gitflow
Slide 18
19. Repos are forked per developer
– Developers work in isolation
One Repo is declared as the Official Repo
– A Project Maintainer integrates the Repos
– Developers sync with the Official Repo
Subversion & Git Presentation
Forking
Slide 19
21. What to Migrate? Snapshot in time or all history?
– Push for converting a snapshot in time
– If that fails, then try for a few key slices
– Arguments
• Why burden the new repo with all the history
• Populating new workspaces will take longer
• Leave old SCM system in a locked down state for reference
– Refactoring
• Always a good time to refactor when switching SCM system
• Can cause headaches if under deadlines
– Builds
• How dependent were you on the old SCM for builds
– Paths
– Build tools (e.g. clearmake)
– APIs, Libs
Migration Considerations
22. Client and Server concepts
Use a Client side hook for actions
– Commit
– Merge
– Rebase
Server Hooks
– Notification
– Rejecting Pushes
Hooks need to be copied to the repos
– Hooks are not part of cloning
– Hooks do not get updated with pull/pushes
In general, use hooks in Git to encourage workflow or for
notifications. Do not rely on them to enforce security
Subversion & Git Presentation
Hooks
Slide 22
23. Be Clever
– There is no one way to provide Security
– There is no single definition of Security
SSH keys
Git Repository Management
– Stash
– Gitolite
– Github
Triggers
Subversion & Git Presentation
Security
Slide 23
24. Sometimes a user removed something they didn’t mean
to.
The following commands are your friends when trying to
figure out what to restore and from where.
– Git log
– Git relog
– Git reset
– Git update-ref
Repos for backups
– Create clones on a safe network disk
– Pull to them once a day (or once a week)
– Use them to recover files or as a reference
Subversion & Git Presentation
Recovering files
Slide 24
26. Builds failed after migrating a project from ClearCase to
Git
– Dev group certain the migration to Git had failed
– Build depended on a large number of sub directories to exist
– Git does not add empty directories
• It needs a blob to point to a directory for the directory to exist.
– Solution was to initially add the missing directories
• Created .temp files in each empty dir
• This creates a blob and the directory is added to Git
– Long term solution
• Encourage them to fix their build Ant/Make files.
Empty Directories
27. A user added multiple large files to his repo
– Then committed them and pushed them to the central repo
User removed them with ‘git rm –rf’
Why is this bad?
– Clone commands went from seconds to 20 minutes
Why?
– Git didn’t remove the large files from the initial commit
– Clone copies the entire repo locally, those files while no longer
visible are still copied
Solution
– Git filter-branch
– Git gc
– Git prune
Subversion & Git Presentation
Slow Clones
Slide 27
28. Client Requirements
– Contractors limited to sub dirs.
– All files in a single Repo.
Git by design
– Does not preserve directory permissions
– Hooks run before or after a Git command
– Submodules don’t offer additional protections
• Also broke the client single repo requirement
Subversion & Git Presentation
Directory Isolation
Slide 28
29. Client workflow depended on Tags
Git Tags are not shared by default
– Tags need to be explicitly;
• Pushed to the remote
• Pulled locally
Solutions
– Reevaluate Workflow
– Share pull command with Tag name
– Share Hash
Subversion & Git Presentation
Universal Tags
Slide 29
30. Client wanted to control who could create a local repo
– Git is not designed to do this
You can limit who can clone from a central Repo
– Stash/Gitolite
– SSH Keys
Once a Repo is cloned
– Nothing is stopping the user from cloning it again
– They can allow others to clone
Solution
– Lock down who can push back to the central Repo
Subversion & Git Presentation
Controlling local repos
Slide 30
31. Client wants to Clone one subdir of a Repo
– Build requires entire Repo
– Deploy requires one sub dir
– Build happens weeks before the deploy
– Deploy wants a fresh Repo
• Just build results and deployment script
Solution
– Submodules
Subversion & Git Presentation
Partial Clone
Slide 31