This document provides an overview of source code management (SCM) systems like Git and GitHub. It discusses what SCM is for and examples like Mercurial, Subversion, and Git. Git is distributed, super fast, lightweight, and works well with GitHub for collaboration. GitHub is a hosted solution for Git repositories. The document then goes into details on installing and using Git locally and with GitHub for version control, branching, pull requests, and merging code between developers. It provides terminology for concepts like staging, committing, pushing, pulling, branches, and pull requests. Finally, it recommends further reading on Git workflows.
We will learn how to create repository, pushing, cloning and creating branches. Additionally we will talk about various workflows that are used by teams while collaborating in a project.
We will learn how to create repository, pushing, cloning and creating branches. Additionally we will talk about various workflows that are used by teams while collaborating in a project.
Basic Introduction to Git and Github. Covers the basic work flow of init, clone, add, commit and push. Other commands like git remote, git pull etc are briefly touched.
Building a µservice with Kotlin, Micronaut & GCPRobert MacLean
In this session, Robert will take the audience through the real-life learnings he has gained in building microservices for a large UK retailer using Kotlin, Micronaut, DataStore and running it on GCP.
This session is meant to be practical in its advice and is targetted at those new to Kotlin and microservice development and attendees can expect to walk away knowing how to get started in this space.
While GCP, in particular, DataStore, Storage, and GKE will be mentioned they are not the core focus with about 10min of the talk focused on that (and the bulk of that being on DataStore).
First shared at DevFest 2019
At the end of this session, you will be able to:
* Install git
* Create a local git repository
* Add a file to the repo
* Add a file to staging
* Create a commit
* Create a new branch
* Create a GitHub repo
* Push a branch to GitHub
A beginner's talk on Git and GitHub. Three main sections: the basics, branching/merging, and collaborating (with GitHub). A funny xkcd comic is used (#1597). Brief mentions of GitHub alternatives (GitLab).
How to get involved with an open source project using github. Shows the process of forking and cloning, a bit of a git primer, and how to submit pull requests. Also how to approach and contribute to an open source project.
I have created this course for Queen Mary University of London alumni. They have already finished the exams and the purpose of this course is to improve their skills.
The development workflow of git github for beginnersGunjan Patel
For video of this session please visit https://youtu.be/lEnYz0b7omE
===================================================
Joomla! is using successful branching model to maintain and keep stable and staging separate. My presentation is mainly focused on beginners. How joomla is working with git and github to track bugs and release. I will explain basic functionality of Git, it's setup, basic git commands, explanation of commands. This will be basic to advance, so it will also help those who already know git but not following proper development workflow in their application. This presentation will guide and encourage them to use proper workflow. Beginners will able to get knowledge of Joomla development workflow which will help them to contribute in project easily. Topics which I am planning to cover are below,
* Set up your computer to use git & github.
* What is fork? How to fork a repository?
* Clone Repository to work in local
* What is upstream? How to configure upstream?
* Commit and Push changes
* Sending Pull request
* Updating your pull request.
=========== Help ==============
I have write some handy commands so it can be easy to work with Git. You may find book here https://gunjanpatel.gitbooks.io/gitbranchingmodel/content/index.html
[2015/2016] Collaborative software development with GitIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Basic Introduction to Git and Github. Covers the basic work flow of init, clone, add, commit and push. Other commands like git remote, git pull etc are briefly touched.
Building a µservice with Kotlin, Micronaut & GCPRobert MacLean
In this session, Robert will take the audience through the real-life learnings he has gained in building microservices for a large UK retailer using Kotlin, Micronaut, DataStore and running it on GCP.
This session is meant to be practical in its advice and is targetted at those new to Kotlin and microservice development and attendees can expect to walk away knowing how to get started in this space.
While GCP, in particular, DataStore, Storage, and GKE will be mentioned they are not the core focus with about 10min of the talk focused on that (and the bulk of that being on DataStore).
First shared at DevFest 2019
At the end of this session, you will be able to:
* Install git
* Create a local git repository
* Add a file to the repo
* Add a file to staging
* Create a commit
* Create a new branch
* Create a GitHub repo
* Push a branch to GitHub
A beginner's talk on Git and GitHub. Three main sections: the basics, branching/merging, and collaborating (with GitHub). A funny xkcd comic is used (#1597). Brief mentions of GitHub alternatives (GitLab).
How to get involved with an open source project using github. Shows the process of forking and cloning, a bit of a git primer, and how to submit pull requests. Also how to approach and contribute to an open source project.
I have created this course for Queen Mary University of London alumni. They have already finished the exams and the purpose of this course is to improve their skills.
The development workflow of git github for beginnersGunjan Patel
For video of this session please visit https://youtu.be/lEnYz0b7omE
===================================================
Joomla! is using successful branching model to maintain and keep stable and staging separate. My presentation is mainly focused on beginners. How joomla is working with git and github to track bugs and release. I will explain basic functionality of Git, it's setup, basic git commands, explanation of commands. This will be basic to advance, so it will also help those who already know git but not following proper development workflow in their application. This presentation will guide and encourage them to use proper workflow. Beginners will able to get knowledge of Joomla development workflow which will help them to contribute in project easily. Topics which I am planning to cover are below,
* Set up your computer to use git & github.
* What is fork? How to fork a repository?
* Clone Repository to work in local
* What is upstream? How to configure upstream?
* Commit and Push changes
* Sending Pull request
* Updating your pull request.
=========== Help ==============
I have write some handy commands so it can be easy to work with Git. You may find book here https://gunjanpatel.gitbooks.io/gitbranchingmodel/content/index.html
[2015/2016] Collaborative software development with GitIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
I have evidence that using git and GitHub for documentation and community doc techniques can give us 300 doc changes in a month. I’ve bet my career on these methods and I want to share with you.
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...Oleg Shalygin
Kubernetes provides an automated platform to deployment, scaling and operations of applications across a cluster of hosts. Complementing Kubernetes with a series of build scripts in conjunction with Travis-CI, GitHub, Artifactory, and Google Cloud Platform, we can take code from a merged pull request to a deployed environment with no manual intervention on a highly scaleable and robust infrastructure.
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
Tutorial on Version control system using git and github.
To learn more and to download printable cheet sheets please visit my website www.techoalien.com.
Also like us on facebook https://www.facebook.com/techoalien
Tutorial on Version control system using git and github.
To learn more and to download printable cheet sheets please visit my website www.techoalien.com.
Also like us on facebook https://www.facebook.com/techoalien
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
Git Workshop
Daniel Laufer on September 15, 2021
Get an overview of Git and GitHub including what they are, their purpose, how they work, how they interact with each other, and much more.
You will learn about essential Git commands and concepts and go through several short demos using them.
Additionally, you will learn how to collaborate with others on a project using Git and GitHub, and learn how to contribute to open-source projects.
All of this combined will allow students to learn an essential skill that will follow them through their career in tech!
Git in gear: How to track changes, travel back in time, and code nicely with ...fureigh
Presented at NYCCamp 2014 on April 10, 2014 as a basic introduction to Git and version control.
(Previous versions presented at NYCCamp 2013 and at DrupalCampNYC 10 on December 10, 2011.)
Original session description:
Ever made a mistake and wished for the power to turn back time? In this session you'll experience the magical world of version control, where you can try out massive code changes without worrying that you'll break your entire site, where you can have access to different versions of your code without saving tons of copies with elaborate naming schemes, and where you can collaborate with others without ever again having to utter the phrase, "Okay, I've finished working on styles.css, so you can go ahead and make your changes now."
This will be a play-along crash course on Git, the version control system that Drupal.org developers (and lots of other people) use to share code with one another and save themselves time and misery.
We'll start with fundamental commands, trying them out along the way. By the end of the session you'll have mastered a simple daily workflow that you'll be able to start using immediately. Plus, you'll leave with a cheat sheet and resources for future reference.
This session will include:
– Why use version control?
– Why use Git?
– How to use Git repositories on Drupal.org
– Fundamental commands
– A simple daily workflow
– How to turn back time when something goes wrong
– How to use Git to experiment safely
– How to see who did what when and review changes
And a bonus round, if time allows:
– How to use Git on a team (or with a remote repository) that's using SVN
– Additional resources/Where to learn more
If you've been meaning to get around to learning Git, now's the time!
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
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.
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.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
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
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
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
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.
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.
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.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
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.
2. WHAT IS SCM?
SOURCE CODE MANAGEMENT
• Storing versions of files
• Good backup
• Important when working in teams
• Points to revert back to
Thursday, 30 May 13
3. SCM SYSTEMS
SOME EXAMPLES
• Mercurial
SUPER QUICK, LARGE DEV-TEAMS, SIMPLE
• Subversion
WIDEST ADOPTION, CHECKING OUT FILES, CENTRAL SERVER
• Git
GROWING QUICKLY, SUPER FAST, DELTA CHANGES, GITHUB, AWESOME
Thursday, 30 May 13
4. GIT VS GITHUB
• Distributed source code management
system
• Hosted solution to facilitate easy
collaboration on Git repositories
Thursday, 30 May 13
5. WHY GIT?
• Distributed
• Super-fast
• Lightweight
• Server-less
• Personal preference
• GitHub
Thursday, 30 May 13
6. WHY GIT?
• Distributed
• Super-fast
• Lightweight
• Personal preference
• GitHub
Thursday, 30 May 13
7. WHY GIT?
• Distributed
• Super-fast
• Lightweight
• Personal preference
• GitHub
Thursday, 30 May 13
8. WHY GIT?
• Distributed
• Super-fast
• Lightweight
• Personal preference
• GitHub
Thursday, 30 May 13
9. WHY GIT?
• Distributed
• Super-fast
• Lightweight
• Personal preference
• GitHub
Thursday, 30 May 13
10. WHY GIT?
• Distributed
• Super-fast
• Lightweight
• Personal preference
• GitHub
Thursday, 30 May 13
11. GITHUB, GITHUB, GITHUB
MORE ON THIS MAGICAL TOOL
• Git repository hosting
• Web tool suite
• Collaborative development
• Social coding (forking)
Thursday, 30 May 13
12. INSTALLING GIT
HANDS-ON #1
MAC
<3 - Easy as pie
WINDOWS
Good luck
https://help.github.com/articles/set-up-git
Thanks GitHub, let’s visit:
Thursday, 30 May 13
13. GIT WORKFLOW
$ cd ~/Desktop/
$ mkdir git
cd is the unix command for
‘change directory’. ~/ is
your home directory.
mkdir is the unix command
for ‘make directory’. The
same thing as creating a
new folder.
Thursday, 30 May 13
14. GIT WORKFLOW
git init will turn the current
folder into a git repository.
Git will now monitor this
folder and any files and
sub-directories for changes
$ cd ~/Desktop/
$ mkdir git
$ cd git
$ git init
Thursday, 30 May 13
15. GIT WORKFLOW
git status tells you the
current status of the
repository (changed files
etc)
Now: open up your text
editor and create a blank
txt file. Save it in the same
directory as your git repo.
$ git init
$ git status
Thursday, 30 May 13
16. GIT WORKFLOW
git status will now tell you
there are untracked files
git add [filename] is used to
add files to the stage for a
commit
$ git status
$ git add hello.txt
Thursday, 30 May 13
17. WOAH, SLOW DOWN!
SOME GIT TERMINOLOGY
STAGE
A SET OF “STAGED” CHANGES THAT WILL BE PART OF A
COMMIT
COMMIT
A PERMANENT SNAPSHOT OFYOUR GIT REPOSITORY AT A
GIVEN TIME
Thursday, 30 May 13
18. GIT WORKFLOW
git commit will create a
snapshot of your repository
saving all staged changes
We use the -m flag
followed by a string to
define a commit message.
Keep in mind that unstaged
changes won’t be saved.
$ git status
$ git add hello.txt
$ git commit -m “Initial commit”
Thursday, 30 May 13
19. GIT WORKFLOW
git status will show no
changes
1. Make a change to
hello.txt
2. Make a new file
3. Commit JUST the new
file
$ git status
$ git add hello.txt
$ git commit -m “Initial commit”
$ git status
Thursday, 30 May 13
21. TEAM WORKFLOW
USING GIT & GITHUB
• Role-oriented AND random editing of files
without fear of overwriting anyone else’s work
• Branching off from the master (main) code base to
work on individual features WITHOUT breaking
the whole site
• Multiple backups of the code-base
• Ability to revert to ANY previous version of a file
Thursday, 30 May 13
22. ‘ADVANCED’ TERMINOLOGY
PUSHING
PUSHYOUR COMMITS TO THE UPSTREAM SERVER (GITHUB)
PULLING
PULL DOWN THE LATEST COMMITS FROM THE UPSTREAM SERVER (GITHUB)
MASTER BRANCH
MASTER IS THE DEFAULT BRANCH INYOUR REPOSITORY.THIS IS THE MAIN CODE BASE
AND SHOULD AT ALL TIMES CONTAIN DEPLOYABLE CODE.
BRANCHING
CREATING ADDITIONAL BRANCHES OFF OF MASTER TO WORK ON INDIVIDUAL FEATURES
Thursday, 30 May 13
23. PUSHING & PULLING
USING AN UPSTREAM SERVER (GITHUB)
• In your teams: push and pull as often as
possible
• Before starting work on, always PULL
• Try to use another communication tool (FB,
Skype etc) to keep in touch when developing
and tell eachother when you have made
changes.
Thursday, 30 May 13
24. OH SHIT!
SOMEONE EFFED’ UP
•You probably went to push some commits
without pulling from GitHub and now you have
some screwed up, out of order repo.
•Solving this problem can be a bitch so cross
your fingers and hope for the best.
Thursday, 30 May 13
25. OH SHIT!
THE SOLUTION
• Run git pull. Git will force you to merge
the changes but you will need to do this
manually.
• Run git merge. Git will merge your
commits with the upstream commits into
a new commit, then push.
Thursday, 30 May 13
26. BRANCHING
SOME GIT AWESOMENESS
• Branching should be used when you want to
work on a specific feature
• Give your branches descriptive names
i.e. user-login or pretty-forms
• Don’t try and make your branches all
encompassing (keep them small and modular)
Thursday, 30 May 13
28. TEAM WORKFLOW
BRANCHING, PULL REQUESTS & MERGING
• Get in your teams
• The technical lead should create a repository on
their account then go to settings and invite the
other members of your team as collaborators.
• Everybody grab the URL found on the repo page:
Thursday, 30 May 13
29. BRANCHING
$ cd ~/Desktop/
$ git clone https://github.com/
codycarnachan/mds.git
Let’s reset our directory to
our Desktop.
git clone is the command
for cloning a repository.
Make sure you put your
own URL in; you won’t be
able to clone repositories
that you aren’t a
collaborator on.
Thursday, 30 May 13
30. BRANCHING
$ cd ~/Desktop/
$ git clone https://github.com/
codycarnachan/mds.git
$ git checkout -b new-branch-
name
git checkout -b
[branchname] is the
command for creating a
new branch and switching
to it (or just switching if it
already exists)
Changes you make now will
be independent to the
master brach
Thursday, 30 May 13
31. BRANCHING
$ cd ~/Desktop/
$ git clone https://github.com/
codycarnachan/mds.git
$ git checkout -b new-branch-
name
Create a file with some
text and then commit it.
Note: There is a different
format to push your new
local branch to the
upstream server:
git push -u origin
[branchname]
Thursday, 30 May 13
32. TEAM WORKFLOW
BRANCHING, PULL REQUESTS & MERGING
• You can checkout each others branches to test
features that might be in progress.
• Once you have a branch with code that is ready to
get merged into master. Go to the GitHub page >
Branches > Click on the branch and then Click Pull
Request
• The Technical Lead should be responsible for
merging pull requests to keep everything streamlined.
Thursday, 30 May 13
34. FURTHER READING
• A general guide to pushing/pulling
http://tinyurl.com/c3yr2v
• What to do when master is ahead of you
http://tinyurl.com/nh9jt2t
• Basic overview of branching and merging
http://tinyurl.com/btwgu79
• Setting up Git at home
https://help.github.com/articles/set-up-git
Thursday, 30 May 13