Git is a distributed version control system that allows for non-linear development. It uses a local repository that tracks snapshots of files rather than file differences. The document discusses how to configure Git, create repositories, make commits, view commit histories, work with branches, merge branches, resolve conflicts, work with remote repositories, and leverage tools like Git stash and Git hosting platforms. Popular branching strategies like Git flow are also covered that establish best practices for team collaboration.
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
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.
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
Excerpt from slides used in undergraduate software engineering lectures.
Our favorite git tricks, git commands and utilities that make working with git easier.
Updated June 2015.
In May 2012, DSpace migrated from the centralized source code management system SVN to Github. While many participants in the community still regard this migration as a technical “under the hood” evolution, it comes with important benefits for repository managers and developers.
This workshop presentation features:
• General, non-DSpace related Github basics
• How DSpace repository managers and committers use github
• A few must know details about the underlying Git protocol
The bulk of the workshop will be spent in guiding the participants with hands-on parts:
• Creating a Github account
• Forking their own DSpace repository
• Installing Git on their local laptops
• Using the Github Windows or Mac client for moving changes from their local machine back to Github
Participant Profile
This workshop is suited for both repository managers and developers. No prior programming or version control management is required. As a consequences, this workshop will not bring anything new to seasoned developers if they are already experienced working with Git and Github.
Format
The ideal format would be a one hour session with around 20-50 attendees in a room where they can work on their own laptops. However, the content can be tuned to fit any format.
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.
Git is a distributed version-control system for tracking changes in source code during software development.
GitFlow is a branching model for Git which is very well suited to collaboration and scaling the development team.
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
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.
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
Excerpt from slides used in undergraduate software engineering lectures.
Our favorite git tricks, git commands and utilities that make working with git easier.
Updated June 2015.
In May 2012, DSpace migrated from the centralized source code management system SVN to Github. While many participants in the community still regard this migration as a technical “under the hood” evolution, it comes with important benefits for repository managers and developers.
This workshop presentation features:
• General, non-DSpace related Github basics
• How DSpace repository managers and committers use github
• A few must know details about the underlying Git protocol
The bulk of the workshop will be spent in guiding the participants with hands-on parts:
• Creating a Github account
• Forking their own DSpace repository
• Installing Git on their local laptops
• Using the Github Windows or Mac client for moving changes from their local machine back to Github
Participant Profile
This workshop is suited for both repository managers and developers. No prior programming or version control management is required. As a consequences, this workshop will not bring anything new to seasoned developers if they are already experienced working with Git and Github.
Format
The ideal format would be a one hour session with around 20-50 attendees in a room where they can work on their own laptops. However, the content can be tuned to fit any format.
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.
Git is a distributed version-control system for tracking changes in source code during software development.
GitFlow is a branching model for Git which is very well suited to collaboration and scaling the development team.
Git is an important part of daily programming (especially if you're working with a team) and is widely used in the software industry. Since there are many various commands you can use, mastering Git takes time. But some commands are used more frequently (some daily). So in this post, I will share and explain the most used Git commands that every developer should know. Note: To understand this PDF, you need to know the basics and advances of Git. https://www.9series.com/
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.
Git is the free and open-source distributed version control system that's responsible for everything GitHub-related that happens locally on your computer. This cheat sheet features the most important and commonly
used Git commands for easy reference.
Simple introduction for development teams familiar with Subversion.
Internal presentation licensed as CC-BY-NC-SA. Attribute to this URL or http://fittl.com/ if you re-publish, do *NOT* use commercially.
In one of our weekly training, we’ve talked about Git. Here is a quick overview of the main concepts, basic commands and branching strategy, how to work with Git, how to contribute to an OSS project, …
Don't be a git - the essentials you should know about git to use it correctly
Presentation by Otto Kekäläinen held at Vincit Teatime on Nov 11th 2015
http://www.vincitteatime.fi/
Vincit Teatime 2015.2 - Otto Kekäläinen: Don't be a gitVincitOy
Otto Kekäläinen from Seravo Oy gave a talk on how to use git correctly.
Don't be a git or The essentials you should know about git to use it correctly
Git on Linus Torvaldsin kehittämä versionhallintatyökalu, jonka ominaisuudet riittävät maailman laajimman ohjelmistoprojektin tarpeisiin. Git itsessään on hyvä lähtökohta jatkuvan integraation, laadunvalvonnan ja tehokkaan monen kehittäjän ympäristön pohjatyökaluksi. Tehokas käyttö ja yhteistyö vaatii kumminkin työkalun hallinnan. Ovatko branching, merging, rebasing ja bisecting varmasti tuttuja käsitteitä? Kuule kokeneelta kehittäjältä parhaat vinkit ja ota git haltuun.
A Beginner's Guide to Git and GitHub, CLI version.
What is Git?
What is Github
Basic commands
Difference between Central and Distributed Version Controlling System
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
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
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
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
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
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.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
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.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Git basics a starter on git and its ecosystem
1. GIT BASICS
How to quickly use Git for day to day developments
...
AND STASH
Leverage Git on the Enterprise
Created by /
Original presentation on
François D'Agostini @DagoFrancesco
GitHub
2. WHAT IS GIT ?
DISTRIBUTED VERSION CONTROL
Speed
Simple
Non Linear Development
Fully Distributed
Large Projects
5. CREATION OF A REPO
No need for network
Can do a lot locally on PC
Best for testing
Git init: repo + working directory
git init --bare: Repo only
git clone:From an existing repo
9. VIEWING COMMITS HISTORY
...lots of other options !!
git blame: one files only
gitk: for graphic visualization
same options as git log
gitlog
--decorate
--graph
--stat
--oneline
-n
10. COMMITS HISTORY (2)
git show: details about a commit by default, shows the detail
of the most recent commit
git show-branch: show details about the current branch
HANDY ALIAS
gitconfig--globalalias.graph"log--decorate--graph--oneline"
11. VIEWING COMMIT DIFFERENCES
git diff: differences between the working directory and the
index
--cached: between the index and the most recent commit
HEAD: between the working directory and the most recent
commit
12. CANCELLATION, RESTORATION, CLEANING
git reset: cancels changes about to be commited in the
index
--hard: changes also the working directory
git checkout: cancels changes made to working directory
compared to index
git clean: deletes files not followed by Git.
-f option to really delete them
-n to simulate
.gitignore file: to avoid Git to track useless files
13. BRANCH MANAGEMENT
A Branch is just a pointer to a commit
nothing fancy
very lightweight
very similar to "tags"
stored in .git/refs/[heads|remotes|tags]
Default branch name: master
14. BRANCH MANAGEMENT (2)
git branch: list branches
-r: remote branches as well
-a all branches
git branch dev: create branch "dev"
Does not change the current branch
git checkout dev: move the current branch to the "dev"
branch
-b: create the branch while switching to it
15. MERGING
git merge dev:merges "dev" branch into current branch
does not destroy "dev"
git branch -d dev:deletes the "dev" branch
only deletes the pointer
can be deleted only if the branch is accessible from the
current branch
This is usually what is needed after merging. The old
"dev" pointer is no longer useful
in case of future branching, a new branch can be
created
16. CONFLICT RESOLUTION
git merge can lead to conflicts if the same file has been
modified in two branches
manual conflict resolution is needed on this files
conflict markers are added by git and need to be removed
by the developper
git add on the conflict files
git commit to end the merge
and of course, delete the merged branch
if conflict resolution is too complex:
git merge --abort: restores the working directory to the
state it was prior to merge
17. REMOTE REPOSITORIES
git remote: lists all remote repos linked to the current
local repo
git remote add name url: adds the specified url as a
remote repo to the local repo
No need in case repo has been created with git clone
git push repo: push local commits on the current branch to
the same branch on the remote repo
warning: the remote repo must already have the same
branch, else use git push repo branch
18. REMOTES: FETCHING AND PULLING
There is a separate copy of the remote commits separated
from the local branch
Can be seen using git branch -a
this means that the remote and the local copy can easily
be compared
git fetch repo: updates the local copy of the remote repo
git pull: like git fetch, but also merges the remote commit
into this repo's branch
this one can lead to conflicts
19. GIT REBASE
When fetching commits from remote repos, there are two
ways to merge them:
regular merge: it will create a new commit every time
rebase: it will not create a new commit
allows to change the commits that were not published to
have new parents
very handy when you need to integrate other people
changes but continu your work
use: git rebase branch
git pull --rebase: will use the reboase algorithm in case of
conflicts instead of merge
20. STASH: SAVE YOUR WORK WHILE SWITCHING
CONTEXT
Allows to save your current context and switch work
Then, you can restore the exact state back
git stash save messages: stores the working director and
the index into a stack
git stash list: lists all the saved stacks
git stash show: shows the details of a stack item
git stash pop: pops a state and applies it on the current
working directory
git stash drop: removes an item on the stack
21. STASH (2)
warning, stashing does not store the branch state
This means that you can recover your state on any branch
popping a state can create conflicts that needs to be
merged
if a pop failed because of a conflict, it will need to be
removed manually
22. GIT HOSTING IN THE
COMPANY
Different from git stash seen previously !!
STASH
23. WHY NEED A GIT HOSTING TOOL?
Git alone is not sufficient
To improve knowledge sharing
to improve code visibility
to get the code out of the darkness !!
25. PROJECT STRUCTURES
Stash organized by projects that handles multiple repos
permissions are based on projects and repos. Allows for
decentralized admin
users have roles: project creators, admins, system admins,
writer
Soon, anonymous mode
26. FILE BROWSING
Can browser any file and see source code
Allows to change branches and tags
Can have details of each commit
browse list of commits and log
markdown support to explain source code organization
27. PULL REQUESTS
Implements best practices with respect to code review
Allows anyone to create a branch, make some code and
ask for its merge
Branch permissions allows to control commits
Pull requests allow to review, make comments, ammend
new commits, see diffs...
Anyone can watch a pull request and be notified
Pull requests can be declined or accepted
28. FORKING
fork a repo into another repo, but keep history
allows for later merges
30. JIRA LINK
Allows to link Git commit to Jira issues
from a Jira issue, see all related commits
with Git hooks, you can force it
31. BRANCHING STRATEGIES WITH GIT
Git is small tool that does not come with a whole
environment and rules (think Clearcase...)
Git is versatile and can be used in a dozen of different
ways
Git itself does not enforce how to use branches and how
to work as a team. It keeps this open
But how a serious company is supposed to use git for all its
projects without going messy ?
WENEED BEST PRACTICES !!
32. GIT FLOW
Standard usages of branches when working with Git
Used in Big projects, with many developers working on it
33. MAIN CARACTERISTICS
2 long lived branches : Develop and master
3 short lived branches: Feature, Release and HotFix
The master branch is restricted to commit by one or two
people
The Develop branch is restricted to senior developers
New code is added through Feature branches only
34. STEPS TO FOLLOW
Create a Feature branch, name it to the story/feature you
are working on
once you are happy with your features, you create a pull
request to merge it
35. STEPS TO FOLLOW (2)
When a release must be done, use a temporary release
branch
The Master branch is used only for "stable" version
commits. Any commits on master should have a Tag
If a bug is found on Master, a "HotFix branch is created to
correct it and merge it back on master