This slide deck is intended for Git beginners and focuses on the underlying concepts, the usage of the command line, especially the commands git reset, git checkout, git revert, git commit, and eventually introduces models for using Git and why git rebase may play an important role in some those models.
Here Don goes over some of the benefits of using GIT as well as some of the basic concepts and methods. Later he goes through the workflow of using GIT. Download his slides here or email him at dlee@tagged.com.
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...SaltStack
Arnold gave this presentation at the Secure Linux Admin Conference in Berlin Germany. He provides an overview of what configuration management systems do, explains the fundamentals of SaltStack and provides a look inside.
Here Don goes over some of the benefits of using GIT as well as some of the basic concepts and methods. Later he goes through the workflow of using GIT. Download his slides here or email him at dlee@tagged.com.
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...SaltStack
Arnold gave this presentation at the Secure Linux Admin Conference in Berlin Germany. He provides an overview of what configuration management systems do, explains the fundamentals of SaltStack and provides a look inside.
Configuration management and orchestration with SaltAnirban Saha
An overview and details about using Salt, the configuration management and orchestrating tool from SaltStack. Presented at LinuxCon and CloudOpen Europe 2014, Dusseldorf.
Tungsten University: MySQL Multi-Master Operations Made Simple With Tungsten ...Continuent
Deployment of MySQL multi-master topologies with Tungsten Replicator has been constantly improving. Yet, earlier there were some heavy operations to sustain, and unfriendly commands to perform. The latest version of Tungsten Replicator delivers all the topologies of its predecessors, with an improved installation tool that cuts down the deployment time to half in simple topologies, and to 1/10th in complex ones. Now you can install master/slave, multi-master, fan-in, and star topologies in less than a minute.
But there is more. Thanks to a versatile Tungsten Replicator installation tool, you can define your own deployment on-the-fly, and get creative: you can have stars with satellites, all-masters with fan-in slaves, and other customized clusters.
We will also cover other enhancements in Tungsten Replicator 2.1.1, such as full integration with MySQL 5.6, enhanced output from administrative tools, a few more goodies.
A Git Workflow is a recipe or recommendation for how to use Git to accomplish work in a consistent and productive manner. Git workflows encourage users to leverage Git effectively and consistently.
Check out this highlight training from the Automat-IT University trainers.
Supporting Android-based Platform Development in SamsungPerforce
Samsung drives and sees success within the smart phone world. Perforce is their platform of choice for Continuous Delivery for their world-wide development teams because of it's scalability and distributed set-up. Learn all about the software engineering environment behind Samsung's cutting edge smart phone products.
Training on Koha Integrated Library System (ILS)
Organized by BALID
3-7 September 2013
Installation of Koha on Debian
Post Installation of Koha
OPAC Customization
Some Important Commands of Mysql
Prepared By
Nur Ahammad
Junior Assistant Librarian
Independent University, Bangladesh
Les défis des architectures cloud sur OpenStackOsones
Les défis des architectures cloud sur OpenStack.
Démonstration par Pierre Freund
Vous êtes administrateur système, développeur, décideur, et vous vous posez des questions sur le rôle et le fonctionnement d'OpenStack ?
• Quels besoins couvrent OpenStack ?
• Quels sont les différents composants ? Comment fonctionnent-ils ?
• Comment tirer partie d'une technologie cloud ?
Ces slides sont issues du meetup du mercredi 17 septembre dans les locaux de Mozilla à Paris.
> Des projets OpenStack ? Besoin de formations OpenStack intra- / inter- entreprise ?
Contactez-nous sur http://www.osones.com
The Docker network overlay driver relies on several technologies: network namespaces, VXLAN, Netlink and a distributed key-value store. This talk will present each of these mechanisms one by one along with their userland tools and show hands-on how they interact together when setting up an overlay to connect containers.
The talk will continue with a demo showing how to build your own simple overlay using these technologies.
To introduce and motivate some best practice around version control and Git.
Resources:
https://en.wikipedia.org/wiki/Version_control
https://git-scm.com/
https://try.github.io
http://rogerdudler.github.io/git-guide/
http://ohshitgit.com/
https://www.atlassian.com/git/tutorials
https://www.datacamp.com/courses/introduction-to-git-for-data-science
Configuration management and orchestration with SaltAnirban Saha
An overview and details about using Salt, the configuration management and orchestrating tool from SaltStack. Presented at LinuxCon and CloudOpen Europe 2014, Dusseldorf.
Tungsten University: MySQL Multi-Master Operations Made Simple With Tungsten ...Continuent
Deployment of MySQL multi-master topologies with Tungsten Replicator has been constantly improving. Yet, earlier there were some heavy operations to sustain, and unfriendly commands to perform. The latest version of Tungsten Replicator delivers all the topologies of its predecessors, with an improved installation tool that cuts down the deployment time to half in simple topologies, and to 1/10th in complex ones. Now you can install master/slave, multi-master, fan-in, and star topologies in less than a minute.
But there is more. Thanks to a versatile Tungsten Replicator installation tool, you can define your own deployment on-the-fly, and get creative: you can have stars with satellites, all-masters with fan-in slaves, and other customized clusters.
We will also cover other enhancements in Tungsten Replicator 2.1.1, such as full integration with MySQL 5.6, enhanced output from administrative tools, a few more goodies.
A Git Workflow is a recipe or recommendation for how to use Git to accomplish work in a consistent and productive manner. Git workflows encourage users to leverage Git effectively and consistently.
Check out this highlight training from the Automat-IT University trainers.
Supporting Android-based Platform Development in SamsungPerforce
Samsung drives and sees success within the smart phone world. Perforce is their platform of choice for Continuous Delivery for their world-wide development teams because of it's scalability and distributed set-up. Learn all about the software engineering environment behind Samsung's cutting edge smart phone products.
Training on Koha Integrated Library System (ILS)
Organized by BALID
3-7 September 2013
Installation of Koha on Debian
Post Installation of Koha
OPAC Customization
Some Important Commands of Mysql
Prepared By
Nur Ahammad
Junior Assistant Librarian
Independent University, Bangladesh
Les défis des architectures cloud sur OpenStackOsones
Les défis des architectures cloud sur OpenStack.
Démonstration par Pierre Freund
Vous êtes administrateur système, développeur, décideur, et vous vous posez des questions sur le rôle et le fonctionnement d'OpenStack ?
• Quels besoins couvrent OpenStack ?
• Quels sont les différents composants ? Comment fonctionnent-ils ?
• Comment tirer partie d'une technologie cloud ?
Ces slides sont issues du meetup du mercredi 17 septembre dans les locaux de Mozilla à Paris.
> Des projets OpenStack ? Besoin de formations OpenStack intra- / inter- entreprise ?
Contactez-nous sur http://www.osones.com
The Docker network overlay driver relies on several technologies: network namespaces, VXLAN, Netlink and a distributed key-value store. This talk will present each of these mechanisms one by one along with their userland tools and show hands-on how they interact together when setting up an overlay to connect containers.
The talk will continue with a demo showing how to build your own simple overlay using these technologies.
To introduce and motivate some best practice around version control and Git.
Resources:
https://en.wikipedia.org/wiki/Version_control
https://git-scm.com/
https://try.github.io
http://rogerdudler.github.io/git-guide/
http://ohshitgit.com/
https://www.atlassian.com/git/tutorials
https://www.datacamp.com/courses/introduction-to-git-for-data-science
GIT: Content-addressable filesystem and Version Control SystemTommaso Visconti
Git presentation, internals, advanced use and workflow examples.
Presentation by Tommaso Visconti http://www.tommyblue.it for DrWolf srl http://www.drwolf.it
Git, the widely popular version control tool that just about everyone who works on the web seems to use, is powerful, scalable, flexible. . .and difficult to learn. If you’ve used Git for any amount of time, you’ve probably gotten yourself into some confusing, frustrating, or downright terrifying situations. But don’t panic. You are not alone. Katie Sylor-Miller explains how to avoid getting into Git messes in the first place, demonstrating how the fundamental structures in Git actually work under the hood and sharing best practices, workflows, and tools that will keep your commits in order and reduce the panic caused by merge conflicts. Katie then shows you how to leverage Git’s powerful features to save yourself when everything seems to go wrong.
TECH MONEY GUIDE
<a href="https://www.techmoneyguide.com">www.techmoneyguide.com</a>
All posts are here as below:
1. How To Delete Your Evony Account: A Step-By-Step Guide
https://www.techmoneyguide.com/2022/03/delete-your-evony-account.html
2. How to Close a Crypto.com Account: A Step-by-Step Guide
https://www.techmoneyguide.com/2022/03/how-to-close-cryptocom-account-step-by.html
3. How to Charge Puff Bar (The Ultimate Guide)
https://www.techmoneyguide.com/2022/03/how-to-charge-puff-bar-the.html
4. How to Recharge a Puff Bar Disposable in 2022
https://www.techmoneyguide.com/2022/03/how-to-recharge-puff-bar-disposable-in.html
5. How to downgrade Vimeo subscription in 2022
https://www.techmoneyguide.com/2022/03/how-to-downgrade-vimeo-subscription-in.html
6. The Importance Of Personal Finance
https://www.techmoneyguide.com/2022/02/the-importance-of-personal-finance-in.html
Thanks
TechMoneyGuide
Git ist eine freie Software zur verteilten Versionsverwaltung von Dateien - Alles klar? Nein? haggl wird uns erklären, was das bedeutet. Er wird uns in seinem Vortrag sämtliche Basic-Funktionen zeigen, so dass am Ende jeder das Programm einsetzen kann.
Tailor made model comparison: How to customize EMF Compare for your modeling ...Philip Langer
EMF Compare is a framework supporting model differencing and merging for EMF-based models. Therefore, it enables users to determine changes they have applied to their models, to identify overlaps between distinct models and to merge changes that have been performed on the same model by different users in parallel.
However, in many modeling projects, the modeling languages and tools for showing and editing models are tailored to the specific needs of the targeted users. Typical customizations range from domain-specific model editing UIs, such as diagrams or form-based UIs, to modeling macros that allow users to make many model changes with one click. If you apply EMF Compare in such customized modeling environments as is, the results cannot and will not be satisfactory out-of-the-box. EMF Compare is and can only be an extensible framework rather than a one-size-fits-all tool.
In this talk, we show you how you can add tailor-made model comparison capabilities to your modeling project by customizing and integrating EMF Compare in various ways. We explain the extension mechanisms based on examples from customizations that we have actually developed for Papyrus UML and domain-specific form-based modeling projects.
Adaptable Model Versioning using Model Transformation By DemonstrationPhilip Langer
Model-driven engineering (MDE) is evermore adopted in academia and industry. In MDE, software models constitute the central artifacts in the software engineering process.
Developing a large software system entails the need for a large number of collaborating developers. Unfortunately, collaborative development of models is currently not sufficiently supported. Traditional versioning systems for code fail for models, because they neglect the graph-based nature of models.
A few dedicated model versioning approaches have been proposed. However, these approaches suffer from four major deficiencies. First, they either support only one modeling language or, if they are generic, they do not consider important specifics of a modeling language. Second, they do not allow the specification of composite operations such as refactorings and thus, third, they neglect the importance of respecting the original intention behind composite operations for detecting conflicts and constructing a merged model. Fourth, the types of detectable conflicts is insufficient and not extensible by users.
To tackle these deficiencies, we present an adaptable model versioning framework, which offers out-of-the-box support for all modeling languages, but also allows to be adapted for for specific modeling languages. For easily specifying language-specific composite operations, we propose a novel technique called model transformation by demonstration. These operation specifications constitute the adaptation artifacts for enabling the detection of applications of specified composite operations. Furthermore, we introduce techniques for detecting additional types of conflicts caused by concurrently applied composite operations as well as for revealing potentially unfavorable merge results.
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)Philip Langer
Slides for the conference presentation of the paper "From UML Profiles to EMF Profiles and Beyond" by Philip Langer, Konrad Wieland, Manuel Wimmer, and Jordi Cabot at the TOOLS Conference 2011 in Zurich, Switzerland.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
1. Business Informatics Group
Institute of Software Technology and Interactive Systems
Vienna University of Technology
Favoritenstraße 9-11/188-3, 1040 Vienna, Austria
phone: +43 (1) 58801-18804 (secretary), fax: +43 (1) 58801-18896
office@big.tuwien.ac.at, www.big.tuwien.ac.at
A Brief Introduction to Working with Git
10.03.2014
VUT, Vienna, Austria
Philip Langer
2. History of Versioning Systems
Based on http://codicesoftware.blogspot.com/2010/11/version-control-
timeline.html
local to central …
central to distributed …
1972
sccs
discourage branching …
everything is a branch …
3. Git: A Distributed Versioning System
There is no single repository server
Every peer is a full repository instance
Single-peer versioning possible
Including the complete history
Committing changes is independent of peers
Allows disconnected operation
Collaboration is done by pushing/pulling commits
Comparable to peer-to-peer networks
The role of peers is purely organizational
No technical difference among peers
Single common central server possible
One peer happens to be the central repo
But several other architectures are possible too
Gate-keeper architecture
Teams of teams
3
commit
push & pull
push & pull
push & pull
<Bob>
<Alice>
<Sally>
<Server>
<Harry>
push & pull
4. The Four Layers & Transferring Changes Among Them
Every repository consists of a
Workspace
Index (“staging area”)
Local repository
Remote repositories
…
Transferring changes
git add
workspace to index
git commit
index to local branch
git push
local branch to remote branch
…
Changes are organized in commits
Each commit has a parent
The history is basically a DAG
4
5. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is HEAD?
A reference pointing to the last commit (of the current branch)
Thus, it will be the parent of the next commit
Relative commit expressions e.g. with HEAD~2
git reset [--soft | --mixed | --hard] [commit | reference to commit]
Resets HEAD in history, index, and/or workspace to [commit]
git reset --hard
History, index, and workspace
git reset [--mixed]
History and index
git reset --soft
Only history
…
5
default:
HEAD
default:
--mixed
History
Index
Workspace
Head
6. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is HEAD?
A reference pointing to the last commit (of the current branch)
Thus, it will be the parent of the next commit
Relative commit expressions e.g. with HEAD~2
git reset [--soft | --mixed | --hard] [commit | reference to commit]
Resets HEAD in history, index, and/or workspace to [commit]
git reset --hard
History, index, and workspace
git reset [--mixed]
History and index
git reset --soft
Only history
…
6
default:
HEAD
default:
--mixed
History
Index
Workspace
Head
7. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is HEAD?
A reference pointing to the last commit (of the current branch)
Thus, it will be the parent of the next commit
Relative commit expressions e.g. with HEAD~2
git reset [--soft | --mixed | --hard] [commit | reference to commit]
Resets HEAD in history, index, and/or workspace to [commit]
git reset --hard
History, index, and workspace
git reset [--mixed]
History and index
git reset --soft
Only history
…
7
default:
HEAD
default:
--mixed
History
Index
Workspace
Head
8. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is HEAD?
A reference pointing to the last commit (of the current branch)
Thus, it will be the parent of the next commit
Relative commit expressions e.g. with HEAD~2
git reset [--soft | --mixed | --hard] [commit | reference to commit]
Resets HEAD in history, index, and/or workspace to [commit]
git reset --hard HEAD~
History, index, and workspace
git reset [--mixed]
History and index
git reset --soft
Only history
…
8
default:
HEAD
default:
--mixed
History
Index
Workspace
Head
9. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is HEAD?
A reference pointing to the last commit (of the current branch)
Thus, it will be the parent of the next commit
Relative commit expressions e.g. with HEAD~2
git reset [--soft | --mixed | --hard] [commit | reference to commit]
Resets HEAD in history, index, and/or workspace to [commit]
git reset --hard HEAD~
History, index, and workspace
git reset [--mixed]
History and index
git reset --soft
Only history
…
9
default:
HEAD
default:
--mixed
History
Index
Workspace
Head
!
10. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is HEAD?
A reference pointing to the last commit (of the current branch)
Thus, it will be the parent of the next commit
Relative commit expressions e.g. with HEAD~2
git reset [--soft | --mixed | --hard] [commit | reference to commit]
Resets HEAD in history, index, and/or workspace to [commit]
git reset --hard
History, index, and workspace
git reset [--mixed]
History and index
git reset --soft
Only history
…
10
default:
HEAD
default:
--mixed
History
Index
Workspace
Head
11. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is HEAD?
A reference pointing to the last commit (of the current branch)
Thus, it will be the parent of the next commit
Relative commit expressions e.g. with HEAD~2
git reset [--soft | --mixed | --hard] [commit | reference to commit]
Resets HEAD in history, index, and/or workspace to [commit]
git reset --hard
History, index, and workspace
git reset [--mixed]
History and index
git reset --soft
Only history
…
11
default:
HEAD
default:
--mixed
History
Index
Workspace
Head
Reset index
after wrong
add
12. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is HEAD?
A reference pointing to the last commit (of the current branch)
Thus, it will be the parent of the next commit
Relative commit expressions e.g. with HEAD~2
git reset [--soft | --mixed | --hard] [commit | reference to commit]
Resets HEAD in history, index, and/or workspace to [commit]
git reset --hard
History, index, and workspace
git reset [--mixed] HEAD~
History and index
git reset --soft
Only history
…
12
default:
HEAD
default:
--mixed
History
Index
Workspace
Head
13. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is HEAD?
A reference pointing to the last commit (of the current branch)
Thus, it will be the parent of the next commit
Relative commit expressions e.g. with HEAD~2
git reset [--soft | --mixed | --hard] [commit | reference to commit]
Resets HEAD in history, index, and/or workspace to [commit]
git reset --hard
History, index, and workspace
git reset [--mixed] HEAD~
History and index
git reset --soft
Only history
…
13
default:
HEAD
default:
--mixed
History
Index
Workspace
Head
Undo last
commit, however
it‘s still there
14. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is HEAD?
A reference pointing to the last commit (of the current branch)
Thus, it will be the parent of the next commit
Relative commit expressions e.g. with HEAD~2
git reset [--soft | --mixed | --hard] [commit | reference to commit]
Resets HEAD in history, index, and/or workspace to [commit]
git reset --hard
History, index, and workspace
git reset [--mixed]
History and index
git reset --soft
Only history
…
14
default:
HEAD
default:
--mixed
History
Index
Workspace
Head
Does nothing
actualy
(HEAD is default)
15. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is HEAD?
A reference pointing to the last commit (of the current branch)
Thus, it will be the parent of the next commit
Relative commit expressions e.g. with HEAD~2
git reset [--soft | --mixed | --hard] [commit | reference to commit]
Resets HEAD in history, index, and/or workspace to [commit]
git reset --hard
History, index, and workspace
git reset [--mixed]
History and index
git reset --soft HEAD~
Only history
…
15
default:
HEAD
default:
--mixed
History
Index
Workspace
Head
16. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is HEAD?
A reference pointing to the last commit (of the current branch)
Thus, it will be the parent of the next commit
Relative commit expressions e.g. with HEAD~2
git reset [--soft | --mixed | --hard] [commit | reference to commit]
Resets HEAD in history, index, and/or workspace to [commit]
git reset --hard
History, index, and workspace
git reset [--mixed]
History and index
git reset --soft HEAD~
Only history
…
16
default:
HEAD
default:
--mixed
History
Index
Workspace
Head
Undo last
commit, leaving
index untouched
17. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is checkout?
Get a version from the history
And overwrite workspace
(also for creating and changing branches … later)
git checkout -- <file/s>
Get version of <file/s> from HEAD
Overwrite version in workspace
17
History
Index
Workspace
Head
Undo last
commit, leaving
index untouched
18. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is checkout?
Get a version from the history
And overwrite workspace
(also for creating and changing branches … later)
git checkout -- <file/s>
Get version of <file/s> from HEAD
Overwrite version in workspace
18
History
Index
Workspace
Head
Undo local
changes to
workspace.
!
19. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is revert?
Does not modify history (good if you pushed already)
Takes a commit from history
Creates reverse patch
Commits reverse patch (new commit)
git revert HEAD~1
19
History
Index
Workspace
Head
Must be clean!
20. Before talking about branches…
Demystifying “git reset”, “git checkout”, and “git revert”
What is revert?
Does not modify history (good if you pushed already)
Takes a commit from history
Creates reverse patch
Commits reverse patch (new commit)
git revert HEAD~1
20
History
Index
Workspace
Head
Undo commits after
you‘ve already
pushed them.
Must be clean!
21. Branching
After all every change (local or remote) is a fork leading to a new branch
So make branches a first-class concept
No logical difference between local and remote branches
Every merge is a branch merge
21
<Bob>
<Server>
<Alice>
22. Branching
Each commit has a parent
A branch is nothing more than a pointer to a commit
22
Current
Branch
23. Branching
Each commit has a parent ( DAG)
A branch is nothing more than a pointer to a commit
23
25. Branching
Branches can be linked in ./git/config
(links are also created automatically in certain cases;
or may be linked explicitly using git checkout --track)
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://code.google.com/a/eclipselabs.org/p/moliz/
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "issue_18_alf"]
remote = origin
merge = refs/heads/issue_18_alf
25
27. Merging Branches
git checkout master
git merge iss53
27
Note that git pull is a git fetch & git merge
28. Branching Models of Git
Several different “models”
All entirely organizational
The svn-like model:
Only one branch
Only one central repo
git pull (origin master)
Apply changes
git commit (master)
git push (origin master)
Good for e.g. papers
The isolated-development model
Own branch for current dev
Own branch for releases
Own branch for each feature
28
29. Keeping the History of Topic Branches Clean: Rebase
git checkout experiment
… // apply changes
git commit -a
git checkout master
git merge experiment
29
30. Keeping the History of Topic Branches Clean: Rebase
git checkout experiment
… // apply changes
git commit -a
git checkout master
git merge experiment
30
31. Keeping the History of Topic Branches Clean: Rebase
git checkout experiment
… // apply changes
git commit -a
git rebase master
31Rebase is rewriting history! Never rebase pushed history!
32. Keeping the History of Topic Branches Clean: Rebase
Improving previous commits
… // apply changes
git commit -a
… // apply changes
git commit -a
git rebase -i HEAD~2
# Rebase 710f0f8..a5f4a0d onto 710f0f8
#
# Commands:
# p, pick = use commit
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
32
Editor's Notes
Prehistory: Versioning was done manually (file was named main_v2.java)RCS and SCCS: text only, no central repository only one developerCVS: allowed several developers to collaborate using a central repositorySVN: was getting famous because it was easier to use. But it „evangelized“ everyone on the „mainline development model“ no branching should be used.Bitkeeper: Made distributed versioning (P2P) famous and was used for Linux kernel development and several other agile open source projects.Git: Also distributed; it fostered branching because practically everything is a branch: if you check-out and start working, you just created a branch.