SlideShare a Scribd company logo
Version Control
with Git
Installation
Windows: http://msysgit.github.io/
Mac: http://code.google.com/p/git-osx-installer
Linux (Debian/Ubuntu):
apt-get install git-core gitk

Linux (Fedora):

yum install git gitk
Verify installation
Windows: Open "Git Bash"
Mac/Linux: Open your terminal
To verify, run:

$ git --version
Yes, we are going to use
the command line today
Feel free to use graphical interfaces after you learn the basics.

Recommended for you

Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course

Git is a distributed revision control system that is widely used in the software development industry. The presentation was used in a lecture delivered in BITS-Pilani, India. The lecture served as a basic crash course on Git. First, it sets off with a guide to install and configure git on various platforms. Then, the basic working concepts of Git are explained. This is followed by a detailed step-by-step guided demonstration of a sample workflow in Git. Afterwards, Some auxillary commands that are frequently used are discussed briefly. Finally, basic concepts of branching and merging are detailed. The presentation ends with a few possible merge conflicts that occur in Git.

revision controlbits pilanilinux
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article

The document provides an introduction to Git and GitHub. It begins with an agenda that outlines topics like commands, a demo, open source, and conclusion. It then discusses what Git is, the need to learn version control, and demonstrates some basic Git commands. It also covers topics like open source opportunities and general discussions.

git
Git Started With Git
Git Started With GitGit Started With Git
Git Started With Git

An introduction to the concepts and principles behind Git along with some basic workflows for everyday use.

dvcsgitversioncontrol
Initial Setup
$ git config --global user.name "Your Name"
$ git config --global user.email "your_email@whatever.com"

Windows:
$ git config --global core.autocrlf true
$ git config --global core.safecrlf true

Linux/Mac:
$ git config --global core.autocrlf input
$ git config --global core.safecrlf true
Version Control
Version Control
aka Revision Control
Version Control
aka Revision Control

aka How we do things in the Real World

Recommended for you

A Practical Introduction to git
A Practical Introduction to gitA Practical Introduction to git
A Practical Introduction to git

This document provides an introduction to using git for version control. It outlines three scenarios: 1) a single developer using a local repository, 2) a team of developers using a central remote repository, and 3) contributing to a software project hosted on GitHub. The document demonstrates how to initialize repositories, add and commit changes, branch, merge, resolve conflicts, push and pull from remote repositories, and set up a shared remote repository. It provides summaries of key git commands and demonstrations of workflows through examples.

Git real slides
Git real slidesGit real slides
Git real slides

This document provides an introduction to Git basics and concepts. It covers version control systems and why distributed version control is useful. It then discusses how Git originated from the Linux kernel project. The document reviews basic Git commands and workflows for setting up a repository, tracking and committing changes. It also covers viewing differences between commits, staging files, and undoing or amending commits. Finally, it discusses sharing repositories remotely including adding remotes, pushing and pulling from remote repositories, and cloning repositories from remote URLs.

Git Terminologies
Git TerminologiesGit Terminologies
Git Terminologies

Git is a version control system that allows tracking changes in source code. It was created by Linus Torvalds in 2005 to manage changes to the Linux kernel. Git uses a three tree architecture with a repository, staging area, and working directory to track changes. Unlike centralized version control systems, Git is distributed so developers can work independently without internet and merge changes later.

gitgithubcodecademy
Sharing Code
Working as a Team
Version Control with Git for Beginners
Version Control

Recommended for you

Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners

HubSpot Software Engineer Meghan Nelson created this intro to git and GitHub for a Women Who Code meetup.

software developmentgithubgit
Git & GitHub WorkShop
Git & GitHub WorkShopGit & GitHub WorkShop
Git & GitHub WorkShop

Git is a version control system that allows developers to have multiple versions of codebases and collaborate across teams. GitHub is a website that hosts Git repositories remotely, like Netflix for code. The document then discusses configuring and using Git and GitHub, including creating repositories, committing changes, pushing to remote repositories, branching, merging, and resolving conflicts. It provides resources for learning more about version control and Git/GitHub workflows.

Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub

This document summarizes a presentation given at DrupalCamp in Athens on December 12, 2010 about Git and GitHub. The presentation introduced Git as a distributed version control system designed for speed and efficiency. It explained some of Git's core concepts like snapshots, branches, merging, and its distributed nature. It also promoted GitHub as a social coding platform that improves collaboration and code hosting for both open source and private projects. The presentation aimed to help attendees learn Git for their own benefit and prepare for Drupal moving to GitHub.

git github
Why Version Control?
Reason #1:

"Versioning"
Version Control with Git for Beginners
Version Control with Git for Beginners

Recommended for you

The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git

Git is a distributed version control system that allows developers to track changes in source code. It provides tools to commit changes locally, branch code for parallel development, and collaborate remotely by pushing and pulling changes from a shared repository. Common Git commands include init to create a repository, add and commit to save changes locally, checkout to switch branches, pull to retrieve remote changes, and push to upload local changes. Git helps developers work efficiently by enabling features like branching, undoing mistakes, and viewing the revision history.

developerversion controlweb development
Git and Github
Git and GithubGit and Github
Git and Github

The document discusses Git and GitHub. It begins with an overview of distributed version control systems (DVCS) like Git and how they differ from centralized version control systems. It then covers the basics of Git, including installing Git, initializing repositories, tracking changes, branching and merging. Finally, it discusses GitHub and how developers can use features like forking, pull requests and wikis to collaborate on projects hosted there. Common Git workflows like Git flow are also introduced.

githubgit
Git & Github for beginners
Git & Github for beginnersGit & Github for beginners
Git & Github for beginners

This document provides an introduction to using Git and GitHub for version control. It covers common Git commands like init, add, commit, status, branch, merge, push and pull. It also explains how to set up a remote repository on GitHub and push/pull from a local repository. The document recommends using branches for new features and pull requests to merge them into the master branch. It emphasizes Git's abilities for distributed, collaborative development on GitHub.

Wait a minute...
Version Control with Git for Beginners
Finer-grained Control
Version Control with Git for Beginners

Recommended for you

Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub

This document provides an overview of Git and GitHub. It describes key Git concepts and commands like commit, push, pull, clone, fetch, merge, diff, branching, and .gitignore. It also provides step-by-step instructions for initializing a Git repository, making configurations, adding and committing files, checking out different versions, comparing changes, removing files, pushing changes to remote repositories, cloning repositories, fetching updates, creating and merging branches, and deleting branches. The goal is to explain both the theory and practical usage of version control with Git and GitHub.

gitgithubversion control system
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub

Git is a free and open source distributed version control system designed by Linus Torvalds in 2005 to handle everything from small to large projects with speed and efficiency. It allows for tracking changes to code, collaborative work, and reverting to previous versions of code. GitHub is a site for hosting Git repositories online that adds features like documentation, bug tracking, and code review via pull requests. Common Git commands include git init to initialize a repository, git add to stage changes, git commit to save changes to the project history, and git push to upload changes to a remote repository.

repositorygitbash
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with Git

Introduction to version control systems with a focus on git. Linguaggi e Ambienti Multimediali Politecnico di Torino, 2015

githubversion controlgit
Enough talk. Let's begin...
Create your first repository
$ mkdir devcon-git101
$ cd devcon-git101
$ git init
Create your first repository
$ mkdir devcon-git101
$ cd devcon-git101
$ git init
Create your first repository
$ mkdir devcon-git101
$ cd devcon-git101
$ git init

Here we create a project folder

Recommended for you

Introduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsIntroduction to Git Commands and Concepts
Introduction to Git Commands and Concepts

This document provides an introduction to Git and compares it to SVN. Some key points: - In Git, all repositories are equal while in SVN there is a single master repository. Git allows more flexibility and parallel work. - Git commits are identified by a SHA-1 hash, making them immutable. This allows tracing commits back to the first one. - Branches and tags in Git are just pointers to commits, making branching a trivial operation. - Common terms like HEAD, origin, master, and working directory are explained. Interacting with remote repositories using commands like clone, fetch, pull, and push is also covered. - The document outlines an everyday workflow for using Git and provides tips for larger development teams

svnsubversionsource control
Github basics
Github basicsGithub basics
Github basics

Git and GitHub basics provides an overview of source control systems and how to use Git and GitHub. It discusses why to use source control, how to set up Git and GitHub on Windows, basic terminology, how to create repositories and push code to GitHub, ignoring files, reverting commits, forking repositories, and pulling changes in shared repositories. The document includes demonstrations of key commands like init, add, commit, push, status, clone and pull.

github
Git Basics (Professionals)
 Git Basics (Professionals) Git Basics (Professionals)
Git Basics (Professionals)

Slides from DevCon Git Code Camp for Professionals, 15 March 2014 http://devcon.ph/events/git-code-camp-for-professionals

git
Create your first repository
$ mkdir devcon-git101
$ cd devcon-git101
… Then we initialize it as a git repository.
$ git init
Create your first repository
$ mkdir devcon-git101
$ cd devcon-git101
… Then we initialize it as a git repository.
$ git init
Git can now track the changes inside our
project folder.
Create your first commit
First create a file "hello.txt" containing:
Hello
Then run the following commands:
$ git add hello.txt
$ git commit -m "Initial Commit"
View the repository history
$ git log
(press q to exit)

Recommended for you

Git_real_slides
Git_real_slidesGit_real_slides
Git_real_slides

This document provides an introduction to Git basics and concepts. It covers version control systems and why distributed version control is useful. It then discusses how Git originated from the Linux Kernel project. The document reviews basic Git commands and workflows for setting up a repository, tracking and committing changes. It also covers viewing differences between commits, staging files, and undoing or amending commits. Finally, it discusses sharing repositories remotely including adding remotes, pushing and pulling from remote repositories, and cloning repositories from remote URLs.

git realgit slidegit scm
Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHub

Diapositivas de la charla dada por la gente de uno21.com.ar (@luke_ar y @matitanio) en la UP, el día 21/08/2012. Próximamente en otras universidades :)

cvsintrogithub
Intro to Git DevOps Tally Presentation 101615
Intro to Git DevOps Tally Presentation 101615Intro to Git DevOps Tally Presentation 101615
Intro to Git DevOps Tally Presentation 101615

Git is a version control system that allows tracking changes to files. It works by taking snapshots of files and storing reference hashes locally. There are three main stages - modified, staged, and committed. Git recommends following a workflow that involves making changes on a development branch, testing, merging to master, and pushing to a remote repository. Common commands include git add to stage changes, git commit to commit them locally, and git push to push to a remote. Branches allow parallel development, and git merge is used to integrate branches.

View the pretty repo history
$ git log --graph --pretty=oneline
(press q to exit)
Ah, what the hell...
Windows/Linux:
$ gitk
Mac:
$ gitx
Create your second commit
Modify "hello.txt" to add "world":
Hello World!
Then run the following commands:
$ git add hello.txt
$ git commit -m "Make hello.txt more exciting"
View the updated history
Windows/Linux:
$ gitk
Mac:
$ gitx

Recommended for you

Git Concepts, Commands and Connectivity
Git Concepts, Commands and ConnectivityGit Concepts, Commands and Connectivity
Git Concepts, Commands and Connectivity

This document provides an overview of Git basics across multiple levels. At level 1, it introduces Git as a distributed version control system and covers basic Git commands and workflows for setting up a local repository, tracking and committing changes. Level 2 covers additional commands for staging changes, viewing differences, resetting and undoing commits, and sharing a repository by adding a remote and pushing/pulling from it. Remote repositories can be hosted or self-managed, and multiple remotes can be used for environments like production, test, etc. Heroku is also mentioned as a hosting platform that can be set up as a remote.

git
Gittalk
GittalkGittalk
Gittalk

Git is a distributed version control system that allows developers to work on codebases simultaneously and merge changes easily. It uses a local repository that can be synced to remote repositories hosted on services like GitHub. Developers clone repositories, make changes on branches, commit locally, and push updates to the remote. Git addresses issues like file locking and enables features like easy merging and reverting changes. Stashing is used to temporarily store uncommitted changes when switching branches. GUI clients and documentation on sites like GitHub help users learn and use Git's powerful capabilities for collaboration.

Introduction to git
Introduction to gitIntroduction to git
Introduction to git

Лекция посвящена основным принципам работа систем контроля версий и самой популярной на момент публик��ции такой системе - git.

vcsgit
What just happened?
http://git-scm.com/book/en/Getting-Started-Git-Basics
git add
git commit

http://git-scm.com/book/en/Getting-Started-Git-Basics
6fba518

Initial Commit

Recommended for you

Loading...git
Loading...gitLoading...git
Loading...git

The document provides an introduction and overview of Git. It begins with an introduction of the presenter and then asks poll questions to gauge who is and isn't using source code management systems. It then proceeds to explain what Git is, why it's useful, how to configure and set up a Git repository, how to add and commit changes, create and switch branches, undo changes, and work with remote repositories and resolve conflicts.

Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use It

This document provides an introduction to using Git. Some key points: - Git is a distributed version control system that is different from CVS/SVN in that nearly every operation is local and Git stores snapshots of files rather than differences. - The basics of using Git involve recording changes by checking status, adding files, committing changes, and working with remotes like origin. - Additional topics covered include undoing changes, working with others through branching and merging, tagging versions, and using tools like interactive mode and stashing.

gitworkshopdevelopment
Git
GitGit
Git

This document provides instructions for using Git for version control and collaboration. It begins with downloading and installing Git, then configuring basic user settings. It describes initializing and cloning repositories, checking the status of files, and viewing commit logs. The document outlines the basic Git workflow including making changes to files, staging files, and committing changes to the local repository. It also covers pushing and pulling changes to and from remote repositories. Finally, it discusses resolving merge conflicts that can occur when merging branches.

managementunderstandingworkflow
6fba518

Initial Commit

object name
●
●

aka object id, commit hash
SHA-1 hash / checksum for verifying the integrity of the contents of the commit
Calculated based on file contents and metadata like last updated date i.e. yours
will be different
e642771

Make hello.txt more exciting

6fba518

Initial Commit
e642771

No, this is not a mistake;
commits refer to their
parent(s), not the other
way around.

Make hello.txt more exciting

6fba518

Initial Commit
Commit multiple files
Create a file "names.txt" containing:
Alice
Bob
Cindy

Recommended for you

Introduction to Git for Artists
Introduction to Git for ArtistsIntroduction to Git for Artists
Introduction to Git for Artists

This document provides instructions for getting started with Git and GitHub. It outlines the steps to install Git, create a GitHub account, download repositories from GitHub, fork repositories, create branches, create pull requests, and create your own repository. It also explains key Git concepts like version control, local and remote repositories, and the three trees in Git. The document recommends configuring user information and SSH keys. It demonstrates common Git commands like init, status, add, commit, push, pull, clone and checkout. It discusses merge conflicts and meaningful commit messages. Finally, it points to additional resources and provides a practice project for following the GitHub flow.

workshopversion controlgit
GitSetupLinux
GitSetupLinuxGitSetupLinux
GitSetupLinux

This document outlines the steps to set up Git with Bitbucket on Linux, create a repository, commit and push code, and merge branches. The key steps are: 1. Install Git and configure username and email. 2. Create a repository on Bitbucket and copy the remote repository URL. 3. Initialize a local Git repository, add and commit files, and push the code to Bitbucket. 4. Pull changes from the remote regularly and use Git commands like merge, rebase, and log to manage branches.

Git setuplinux
Git setuplinuxGit setuplinux
Git setuplinux

This document outlines the steps to set up Git with Bitbucket on Linux, create a repository, commit and push code, and merge branches. The key steps are: 1. Install Git and configure username and email. 2. Create a repository on Bitbucket and copy the remote repository URL. 3. Initialize a local Git repository, add files, commit changes, and push the code to the remote Bitbucket repository. 4. Pull changes from the remote repository before making new commits to keep the local codebase updated.

gitsetup
Commit multiple files
Create a file "numbers.txt" containing:
3
9
16
12
8.2
4
Commit multiple files
Run the following commands:
$ git add names.txt numbers.txt
$ git commit -m "Create 2 files in a single commit"
e642771

Make hello.txt more exciting

6fba518

Initial Commit
Each commit deals with a set of files
7c57165

Create 2 files in a single commit
2 files created

e642771

Make hello.txt more exciting
1 file modified

6fba518

Initial Commit
1 file created

Recommended for you

Git it on (includes git hub)
Git it on (includes git hub)Git it on (includes git hub)
Git it on (includes git hub)

This document provides an introduction and overview of Git and GitHub. It begins with definitions of version control systems and describes the differences between local, centralized, and distributed version control. It then discusses the history and predecessors of Git, including why Git was created. The basics of Git are explained, including setting it up and using common commands like status, add, commit, log, push. It also introduces GitHub and how to use it to host Git repositories.

quickstartgithubprogramming
Git basics
Git basicsGit basics
Git basics

Git is a distributed version control system designed to handle small and large projects with speed and efficiency. It allows for fast branching and merging. Git keeps an archive of all code changes over time, allows comparing changes and reverting to old releases, and provides accountability. The basic Git workflow involves modifying files in the working directory, staging files to add a snapshot to the staging area, and committing files which permanently stores the snapshot. Remote branches allow collaborating on code by fetching and pushing changes between local and remote repositories. Common commands include pull, push, commit, branch, tag, merge, and checkout.

version controlgit
Nge-GIT (Belajar Git Bareng)
Nge-GIT (Belajar Git Bareng)Nge-GIT (Belajar Git Bareng)
Nge-GIT (Belajar Git Bareng)

This document provides an introduction to Git and common Git workflows. It discusses what Git is, how it stores data as snapshots rather than file changes, and its advantages as a distributed version control system where the full code history is stored locally. It then demonstrates basic Git commands like init, add, commit, status, branch, merge, tag and working with remotes. Key points covered include initializing and cloning repositories, tracking changes, committing work, branching and merging, and sharing code via remote repositories.

giteducationbelajar
We've covered "Save", but
before we move on to
"Load"...
http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository
File Status

(all unmodified)
$ git status
# On branch master
nothing to commit, working directory clean
File Status
(untracked)

Create a file "animals.txt" containing:
Dogs
Cats
Mice

Recommended for you

390a gitintro 12au
390a gitintro 12au390a gitintro 12au
390a gitintro 12au

This document provides an introduction to version control with Git. It discusses the basic Git model and workflow, including cloning repositories, making local changes, staging files, and committing changes. It compares Git to centralized version control systems like Subversion and highlights Git's distributed and non-linear development advantages. Basic Git commands are explained like add, commit, status, diff, log, pull and push. Branching and merging with Git are also introduced.

簡單介紹git
簡單介紹git簡單介紹git
簡單介紹git

This document provides an introduction and overview of using Git for version control. It discusses the basics of version control systems including local version control, centralized version control, and distributed version control. It then walks through setting up Git locally and configuring it, generating SSH keys, creating repositories on GitHub, forking repositories, and basic Git commands and workflows for branching, merging, and working with remotes.

git
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017

This document provides numerous examples of Git aliases that can help streamline workflows. It begins by demonstrating aliases for common commands like status, last commit, checkout, add, commit, reset, and grep. It then shows more advanced aliases for managing branches, commits, and reflogs. Throughout, it emphasizes that aliases can make workflows more efficient by avoiding repetitive tasks and that teams should consider sharing standardized aliases. It concludes by encouraging readers to continually learn Git, customize workflows for their needs, and view themselves as craftspeople improving their skills.

codemotion milan 2017
File Status
(untracked)

$ git status
# On branch master
# Untracked files:
#
(use "git add <file>..." to include in
what will be committed)
#
#
animals.txt
nothing added to commit but untracked files
present (use "git add" to track)
File Status

(untracked and modified)
Modify "names.txt" to add "Janet":
Alice
Bob
Janet
Cindy
File Status

(untracked and modified)
$ git status
# On branch master
# Changes not staged for commit:
#
(use "git add <file>..." to update what will be committed)
#
(use "git checkout -- <file>..." to discard changes in working
directory)
#
#
modified:
names.txt
#
# Untracked files:
#
(use "git add <file>..." to include in what will be committed)
#
#
animals.txt
no changes added to commit (use "git add" and/or "git commit -a")
File Status

(untracked and staged)
$ git add names.txt
$ git status
# On branch master
# Changes to be committed:
#
(use "git reset HEAD <file>..." to unstage)
#
#
modified:
names.txt
#
# Untracked files:
#
(use "git add <file>..." to include in what will be
committed)
#
#
animals.txt

Recommended for you

Introduction To Git Workshop
Introduction To Git WorkshopIntroduction To Git Workshop
Introduction To Git Workshop

This document provides an introduction to using Git. It covers getting Git, creating repositories, staging and committing files, branching, merging, and pushing and pulling changes. The presenter provides exercises for attendees to practice the basic Git commands and workflows. They discuss normal repositories, bare repositories, cloning repositories, viewing logs and commits, configuring user information, amending commits, removing files, branching, merging, pushing changes to a remote repository, and pulling changes from remote.

git
Hd 10 japan
Hd 10 japanHd 10 japan
Hd 10 japan

from https://platinumkaraoke.ph/music-update-category/major-hd10/

Static Sites in Ruby
Static Sites in RubyStatic Sites in Ruby
Static Sites in Ruby

This document discusses options for building static sites in Ruby. It outlines pros of using Jekyll, such as being well-known and having many plugins, but notes some missing features like asset precompilation and LiveReload. Alternatives to Jekyll are presented, including Middleman and using Sinatra for semi-static sites. The document concludes by thanking the audience.

rubyblogsjekyll
File Status

(commit staged)
$ git commit -m "Add Janet"
[master 5e545ed] Add Janet
1 file changed, 1 insertion(+)
$ git status
# On branch master
# Untracked files:
#
(use "git add <file>..." to include in what will be
committed)
#
#
animals.txt
Shortcuts
Stage a folder
Modify "names.txt" to add "Ramon":
Alice
Ramon
Bob
Janet
Cindy
Stage a folder
$
$
#
#
#
#
#
#
#

git add .
git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file:
modified:

animals.txt
names.txt

Recommended for you

So You Want to Teach Ruby and Rails...
So You Want to Teach Ruby and Rails...So You Want to Teach Ruby and Rails...
So You Want to Teach Ruby and Rails...

The document discusses considerations for teaching Ruby on Rails. It notes that students come with a wide range of experience, from true beginners to veteran developers, and the content must be tailored accordingly. Managing student expectations is important, as the hype around Rails can raise expectations that are difficult to meet for beginners. Follow-through after initial lessons is also key to student retention, such as providing a roadmap for further learning.

teachingweb developmentruby on rails
Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0
Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0
Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0

Supporting slides for my talk on how to Upgrade from Ruby 1.9.3 to Ruby 2.1, Rails 3.2 to 4.0, Bootstrap 2.3 to 3.0

twitter bootstrapruby on railsruby
Rails is Easy*
Rails is Easy*Rails is Easy*
Rails is Easy*

The document provides an overview of the history and evolution of the Rails web framework from 2006 to 2013. It discusses how Rails initially aimed to make web development "easy" but this led to issues with code quality. It then outlines how conventions and best practices developed over time to structure Rails applications according to the MVC pattern and provide guidance on testing, deployment and other aspects of developing with Rails. The document also notes that many advanced Rails topics were not covered.

ruby on railsruby
Unstage a file
$ git reset HEAD names.txt
Unstaged changes after reset:
M
names.txt
$ git status
# On branch master
# Changes to be committed:
#
(use "git reset HEAD <file>..." to unstage)
#
#
new file:
animals.txt
#
# Changes not staged for commit:
#
(use "git add <file>..." to update what will be committed)
#
(use "git checkout -- <file>..." to discard changes in working
directory)
#
#
modified:
names.txt
#
Unmodify a file
$ git checkout -- names.txt
$ git status
# On branch master
# Changes to be committed:
#
(use "git reset HEAD <file>..." to unstage)
#
#
new file:
animals.txt
#
do it again...
Modify "names.txt" to add "Ramon":
Alice
Ramon
Bob
Janet
Cindy
Stage and commit
EVERYTHING
(except untracked files)
$ git commit -a -m "Commit unrelated changes.. DON'T DO THIS"
[master 61f1cd8] Commit unrelated changes.. DON'T DO THIS
2 files changed, 4 insertions(+)
create mode 100644 animals.txt
$ git status
# On branch master
nothing to commit, working directory clean
Note: using "-a" will also stage moved and renamed files.

Recommended for you

Things Future IT Students Should Know (But Don't)
Things Future IT Students Should Know (But Don't)Things Future IT Students Should Know (But Don't)
Things Future IT Students Should Know (But Don't)

The document discusses what future IT students should know about their field of study and career. It emphasizes that the goal of an IT degree is to learn how to solve human problems using computers. It stresses developing strong problem-solving, communication, and social skills which are more important than specific technical skills. Companies hire based on an individual's ability to solve problems rather than their particular degree. The document advises students to gain experience through projects, explore new technologies, and collaborate with others to prepare for an ever-changing career where adaptability is key.

software developmentsoftware engineeringcomputer science
Things IT Undergrads Should Know (But Don't)
Things IT Undergrads Should Know (But Don't)Things IT Undergrads Should Know (But Don't)
Things IT Undergrads Should Know (But Don't)

This document provides advice for IT undergrads on things they should know but often don't. It emphasizes that the goal of an IT degree is to learn how to solve human problems using computers. It stresses that the most important language for undergrads to know is SQL. It also notes that employers hire programmers based on their problem-solving skills rather than specific languages. Undergrads should focus on learning fundamentals in college and exploring outside projects as soft skills and adaptability are crucial for success in the real world of constantly changing requirements and impossible deadlines.

software developmentsoftware engineeringcomputer science
From Novice to Expert: A Pragmatic Approach to Learning
From Novice to Expert: A Pragmatic Approach to LearningFrom Novice to Expert: A Pragmatic Approach to Learning
From Novice to Expert: A Pragmatic Approach to Learning

From Novice to Expert discusses a pragmatic approach to learning based on the Dreyfus model of skill acquisition. The model describes five stages from novice to expert: novice, advanced beginner, competent, proficient, and expert. As individuals progress through these stages, their decision making shifts from relying solely on rules to developing intuition through experience. The document suggests applying this framework to understand the different needs of developers at various experience levels.

information technologysoftware developmentsoftware engineering
Amend last commit
$ git commit -m "Commit unrelated changes... DON'T DO THIS" --amend
[master 3a0eac3] Commit unrelated changes... DON'T DO THIS
2 files changed, 4 insertions(+)
create mode 100644 animals.txt
On to "Load"...
3a0eac3

Commit unrelated changes... DON'T DO THIS

5e545ed

Add Janet

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting

6fba518

Initial Commit
HEAD
3a0eac3

Commit unrelated changes... DON'T DO THIS

5e545ed

Add Janet

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting

6fba518

Initial Commit

Recommended for you

Lambda Expressions in Java 8
Lambda Expressions in Java 8Lambda Expressions in Java 8
Lambda Expressions in Java 8

The document discusses Java 8 lambda expressions and how they can be used to filter, map, and reduce collections. It provides examples of filtering a list of employees to only those over age 60, mapping a list of employees to a list of their full names, and reducing a list of employees to calculate their total salary. It notes how lambda expressions allow bulk data operations on collections in a similar manner to SQL queries.

javafunctional programming
Preparing for the WebGeek DevCup
Preparing for the WebGeek DevCupPreparing for the WebGeek DevCup
Preparing for the WebGeek DevCup

The document provides tips for preparing for a hackathon event called the WebGeek DevCup. It recommends preparing your application framework ahead of time by choosing technologies and setting up modules like authentication, but not completing the full application. It also suggests preparing your development environment, using version control, potentially deploying code, and ensuring good team communication and self-care during the event. The goal is to minimize time spent on setup during the hackathon in order to focus on coding the full application within the limited timeframe.

hackathon
Productive text editing with Vim
Productive text editing with VimProductive text editing with Vim
Productive text editing with Vim

This document provides tips for using the Vim text editor. It begins with an overview of Vim, describing it as an old but common text editor present on many Unix systems. It then provides 9 tips for using Vim, including using insert mode only when needed, using motions beyond just "i" to enter insert mode, using normal mode for faster navigation, learning text manipulation commands, combining commands with motions, using visual mode to select text, splitting screens and tabs, using plugins, and learning something new each day. It concludes by thanking the reader and providing links to the author's GitHub, Twitter, and personal website.

vim
Create a reverting commit
$ git revert HEAD --no-edit
[master 2a1b52e] Revert "Commit unrelated changes... DON'T DO THIS"
2 files changed, 4 deletions(-)
delete mode 100644 animals.txt
HEAD
3a0eac3

Commit unrelated changes... DON'T DO THIS

5e545ed

Add Janet

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting
HEAD
2a1b52e

Revert "Commit unrelated changes... DON'T
DO THIS"

3a0eac3

Commit unrelated changes... DON'T DO THIS

5e545ed

Add Janet

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting
Move HEAD to a commit
discarding changes
$ git reset --hard 7c57165
HEAD is now at 7c57165 Create 2 files in a single commit
(You can use the first few characters of the object ID instead of the 40 characters)

Recommended for you

Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)

The document provides examples of how to perform common programming tasks in Ruby and Ruby on Rails compared to other languages like C#. It shows how Ruby and Rails allow doing more with less code through features like hashes, object oriented programming, metaprogramming, and the MVC framework. The examples include creating hashes, binary trees, class hierarchies, adding methods to numbers, and defining behavior for different instances. It also provides a Rails example for a Twitter clone app and lists resources for learning Ruby and Rails.

Latest Trends in Web Technologies
Latest Trends in Web TechnologiesLatest Trends in Web Technologies
Latest Trends in Web Technologies

This document summarizes several latest trends in web technologies, including cloud computing, HTML5, programming languages like JavaScript and LISP, NoSQL databases, and functional and concurrent languages. Cloud computing allows minimal hardware purchasing through services like AWS while HTML5 expands web capabilities beyond Flash. Programming languages like JavaScript and LISP are being rediscovered for their power and conciseness. NoSQL databases provide an alternative to relational databases for high performance needs.

Virtualization
VirtualizationVirtualization
Virtualization

Virtualization allows users to create virtual machines on their computers. This allows them to run multiple operating systems at once, try out different operating systems without dual booting, and simulate multiple servers or cloud environments. Popular virtualization programs include Oracle VirtualBox and VMware Player, both of which are free to use. Virtualization is useful for web development and getting familiar with cloud computing platforms commonly used in industry.

virtualization
HEAD
2a1b52e

Revert "Commit unrelated changes... DON'T
DO THIS"

3a0eac3

Commit unrelated changes... DON'T DO THIS

5e545ed

Add Janet

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting
2a1b52e

Revert "Commit unrelated changes... DON'T
DO THIS"

3a0eac3

Commit unrelated changes... DON'T DO THIS

5e545ed

Add Janet

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting

HEAD
View history
$
*
*
*

git log
7c57165
e642771
6fba518

--graph --pretty=format:'%h %s%d' --all
Create 2 files in a single commit (HEAD, master)
Make hello.txt more exciting
Initial Commit

or
$ gitk --all
HEAD
7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting

Recommended for you

Some Myths in Software Development
Some Myths in Software DevelopmentSome Myths in Software Development
Some Myths in Software Development

Developers are knowledge workers, not just encoders or typists. Coding is just a small part of software development, which is primarily about understanding people and business needs. Modern programming requires knowledge of multiple languages and technologies, and developers will use existing packages rather than writing all code themselves.

Latest Trends in Open Source Web Technologies
Latest Trends in Open Source Web TechnologiesLatest Trends in Open Source Web Technologies
Latest Trends in Open Source Web Technologies

The document discusses several latest trends in open source web technologies, including cloud computing, HTML5, programming languages like JavaScript and Lisp, NoSQL databases, and free and open source software gaining more traction. Specifically, it covers how cloud computing can reduce costs by having infrastructure handled by providers like Amazon, HTML5 becoming a replacement for technologies like Flash, and how functional programming languages allow for concise yet powerful code.

web design and development
What it takes to be a Web Developer
What it takes to be a Web DeveloperWhat it takes to be a Web Developer
What it takes to be a Web Developer

Web developers require a passion for continuous learning across the fields of web design, software engineering, domain knowledge, and infrastructure. To succeed, they must stay up-to-date with new tools and methodologies through online resources and by building their skills in languages like HTML, CSS, JavaScript, PHP, and frameworks like Ruby on Rails.

software engineeringweb design and development
Move HEAD to a commit
$ git reset --hard 2a1b52e
HEAD is now at 2a1b52e Revert "Commit unrelated changes... DON'T DO
THIS"
HEAD
7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting
2a1b52e

Revert "Commit unrelated changes... DON'T
DO THIS"

3a0eac3

Commit unrelated changes... DON'T DO THIS

5e545ed

Add Janet

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting

HEAD
HEAD
2a1b52e

Revert "Commit unrelated changes... DON'T
DO THIS"

3a0eac3

Commit unrelated changes... DON'T DO THIS

5e545ed

Add Janet

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting

Recommended for you

Ruby and Rails by example
Ruby and Rails by exampleRuby and Rails by example
Ruby and Rails by example

This document provides examples of how to perform common tasks in Ruby and Ruby on Rails using less code compared to other languages like C#. It begins with an overview of Ruby's simplicity and complexity. Several examples are given that show how to create hashes, print output, build binary trees, define classes and modules, call methods, perform calculations, sort and select data, define instance behaviors, and include modules. The document concludes by providing examples of generating a basic Twitter clone app in Rails and scaling it up.

ruby on railsruby
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails

Ruby is a dynamic, open source programming language that is interpreted, object-oriented, and functional. It focuses on simplicity and emphasizes programmer productivity. Ruby on Rails is a web application framework built on Ruby that follows the model-view-controller architectural pattern. It aims to make web development faster and easier through its conventions, including generating scaffolding for basic CRUD operations on models.

before you leap
before you leapbefore you leap
before you leap

This document provides advice for web developers considering freelancing. It recommends (1) thoroughly researching the pros and cons of freelancing and one's skills before starting, (2) creating a detailed plan with short and long-term goals and determining one's strengths and weaknesses, and (3) ensuring financial stability by saving enough money to cover expenses for 6 months in case of inconsistent work.

freelancing
Unreferenced commits will
not show up in the history.
Coincidentally, we can use
Tags to refer to a commit.
Tagging
$ git tag tagging-demo
HEAD
2a1b52e

Revert "Commit unrelated changes... DON'T
DO THIS"

3a0eac3

Commit unrelated changes... DON'T DO THIS

5e545ed

Add Janet

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting
tagging-demo

HEAD
2a1b52e

Revert "Commit unrelated changes... DON'T
DO THIS"

3a0eac3

Commit unrelated changes... DON'T DO THIS

5e545ed

Add Janet

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting

Recommended for you

What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024

This is a powerpoint that features Microsoft Teams Devices and everything that is new including updates to its software and devices for May 2024

microsoft teamsmicrosoft
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf

Profile portofolio

The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing

Invited Remote Lecture to SC21 The International Conference for High Performance Computing, Networking, Storage, and Analysis St. Louis, Missouri November 18, 2021

distributed supercomputerdistributed machine learning
Going back...
$ git reset --hard 7c57165
HEAD is now at 7c57165 Create 2 files in a single commit
tagging-demo

2a1b52e

Revert "Commit unrelated changes... DON'T
DO THIS"

3a0eac3

Commit unrelated changes... DON'T DO THIS

5e545ed

Add Janet

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting

HEAD
View history
$
*
*
*
*
*
*

git log
2a1b52e
3a0eac3
5e545ed
7c57165
e642771
6fba518

--graph --pretty=format:'%h %s%d' --all
Revert "Commit unrelated changes... DON'T DO THIS" (tagging-demo)
Commit unrelated changes... DON'T DO THIS
Add Janet
Create 2 files in a single commit (HEAD, master)
Make hello.txt more exciting
Initial Commit

or
$ gitk --all
Wrapping up, tag current...
$ git tag end-part1

Recommended for you

7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf

Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).

solar storms
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024

Everything that I found interesting last month about the irresponsible use of machine intelligence

quantumfaxmachine
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses

CIO Council Cal Poly Humboldt September 22, 2023

national research platformdistributed supercomputerdistributed systems
...and unreference PDAF
$ git tag -d tagging-demo
Deleted tag 'tagging-demo' (was 2a1b52e)
end-part1

HEAD

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting

6fba518

Initial Commit
Best Practices
Write good commit
messages
You should be able to get an idea what changed
and why just by looking at the commit messages

Recommended for you

Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...

Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.

insider securitycybersecurity threatsenterprise security
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...

Jindong Gu, Zhen Han, Shuo Chen, Ahmad Beirami, Bailan He, Gengyuan Zhang, Ruotong Liao, Yao Qin, Volker Tresp, Philip Torr "A Systematic Survey of Prompt Engineering on Vision-Language Foundation Models" arXiv2023 https://arxiv.org/abs/2307.12980

Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM

Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.

quantum communicationsshannon's channel theoremclassical theory
Commit related changes
This would make it easier to roll back changes
Commit often
Do not commit generated files
E.g. compiled bytecode or executables, log files,
temporary files, etc.
Do not commit sensitive
information
E.g. passwords, settings.
You can, however, commit templates.

Recommended for you

How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf

In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.

social media hackerfacebook hackerhire a instagram hacker
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf

Support en anglais diffusé lors de l'événement 100% IA organisé dans les locaux parisiens d'Iguane Solutions, le mardi 2 juillet 2024 : - Présentation de notre plateforme IA plug and play : ses fonctionnalités avancées, telles que son interface utilisateur intuitive, son copilot puissant et des outils de monitoring performants. - REX client : Cyril Janssens, CTO d’ easybourse, partage son expérience d’utilisation de notre plateforme IA plug & play.

genaicloudrgpd
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems

Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states. In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing. Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.

Helpful Stuff
that we will not explain in detail...
.gitignore
https://github.com/github/gitignore
git stash
git blame

Recommended for you

Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world

The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries: 1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes. 2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions. 3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines. 4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors. 5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering. 6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands. 7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems. 8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering. 9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively. Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.

fdmffffused deposition modeling
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx

Revolutionize your transportation processes with our cutting-edge RPA software. Automate repetitive tasks, reduce costs, and enhance efficiency in the logistics sector with our advanced solutions.

rpa in transportationrpa in transportation industryrpa in transportation sector
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry

Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data. The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs. Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution! Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.

cloudcloud native observabilitycloud native
Summary of Commands
git init - initialize repository
git add - add files/folders to staging
git commit - commit files in staging
git status - view status of repository
git log / gitk - view history of repository
git revert - unstage files
git reset - move HEAD to another commit
git tag - tag a commit
Summary of Command
Variations
git commit -a
- auto-stage all deleted, moved, modified
gitk --all / git log --all
- include all branches, tags
git tag -d
- delete tag
Why Version Control?
Reason #2:

Backup

Recommended for you

Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf

Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment. How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.

pigging solutionsprocess piggingproduct transfers
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx

Your comprehensive guide to RPA in healthcare for 2024. Explore the benefits, use cases, and emerging trends of robotic process automation. Understand the challenges and prepare for the future of healthcare automation

rpa in healthcarerpa in healthcare usarpa in healthcare industry
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL

Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.

blockchainweb3blockchain technology
Reason #2:

Backup
Reason #2:

Collaboration
If we were pressed for time...
Register at GitHub
● Learn git clone
● Learn git push / git pull
●
Learn how to fix merge conflicts
●
...but we're not, so let's first
discuss something that will
help us later on.

Recommended for you

Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf

To help you choose the best DiskWarrior alternative, we've compiled a comparison table summarizing the features, pros, cons, and pricing of six alternatives.

data recoverydatadiskwarrior
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf

Kief Morris rethinks the infrastructure code delivery lifecycle, advocating for a shift towards composable infrastructure systems. We should shift to designing around deployable components rather than code modules, use more useful levels of abstraction, and drive design and deployment from applications rather than bottom-up, monolithic architecture and delivery.

infrastructure as codeclouddevops
Branching
File Status

(all unmodified)
$ git status
# On branch master
nothing to commit, working directory clean
File Status

(all unmodified)
$ git status
# On branch master
nothing to commit, working directory clean
end-part1

HEAD

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting

6fba518

Initial Commit

Recommended for you

HEAD

end-part1

master

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting

6fba518

Initial Commit
HEAD

end-part1

master
in other version control
systems, master is called
trunk

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting

6fba518

Initial Commit
Create a branch
$ git branch testing
HEAD

end-part1

master

7c57165

Create 2 files in a single commit

e642771

Make hello.txt more exciting

6fba518

Initial Commit

Recommended for you

HEAD

master

testing
7c57165

e642771

6fba518

end-part1
Switch to branch
$ git checkout testing
Switched to branch 'testing'
$ git status
# On branch testing
nothing to commit, working directory clean
HEAD

master

testing
7c57165

e642771

6fba518

end-part1
HEAD

master

testing
7c57165

e642771

6fba518

end-part1

Recommended for you

Commit to new branch
Modify "names.txt" to add "Eve":
Alice
Bob
Cindy
Eve
Commit to new branch
$ git commit -am "Add Eve"
[testing cdd47c2] Add Eve
1 file changed, 1 insertion(+)
$ gitk
HEAD

master

testing
7c57165

e642771

6fba518

end-part1
HEAD

cdd47c2

testing

master

7c57165

e642771

6fba518

end-part1

Recommended for you

HEAD

cdd47c2

master

7c57165

e642771

6fba518

end-part1

testing
Switch back to master
$ git checkout master
Switched to branch 'master'
HEAD

cdd47c2

master

7c57165

e642771

6fba518

end-part1

testing
HEAD
cdd47c2

master

7c57165

e642771

6fba518

end-part1

testing

Recommended for you

Difference between log --all
vs normal log
$ gitk
HEAD

master

7c57165

e642771

6fba518

end-part1
Difference between log --all
vs normal log
$ gitk --all
HEAD
cdd47c2

master

7c57165

e642771

6fba518

end-part1

testing

Recommended for you

Commit to master
Modify "names.txt" to add "Billy":
Alice
Billy
Bob
Cindy
$ git commit -am "Add Billy"
[master cc3044c] Add Billy
1 file changed, 1 insertion(+)
HEAD
cdd47c2

master

7c57165

e642771

6fba518

end-part1

testing
HEAD

master

cc3044c

7c57165

e642771

6fba518

cdd47c2

end-part1

testing
Shortcut: create and switch
$ git checkout -b testing2
Switched to branch 'testing2'

Recommended for you

HEAD

master

cc3044c

7c57165

e642771

6fba518

cdd47c2

end-part1

testing
HEAD

master

testing2

cc3044c

7c57165

e642771

6fba518

cdd47c2

end-part1

testing
Commit to testing2
Modify "names.txt" to add "Dave":
Alice
Billy
Bob
Cindy
Dave
$ git commit -am "Add Dave"
[testing2 80414cf] Add Dave
1 file changed, 1 insertion(+)
HEAD

master

testing2

cc3044c

7c57165

e642771

6fba518

cdd47c2

end-part1

testing

Recommended for you

testing2

HEAD

80414cf

master

cc3044c

7c57165

e642771

6fba518

cdd47c2

end-part1

testing
yay, mukha nang puno
Go back to master
$ git checkout master
Switched to branch 'master'
$ gitk --all
testing2

HEAD

80414cf

master

cc3044c

7c57165

e642771

6fba518

cdd47c2

end-part1

testing

Recommended for you

Merge another branch
$ git merge testing
Auto-merging names.txt
Merge made by the 'recursive' strategy.
names.txt | 1 +
1 file changed, 1 insertion(+)
testing2

HEAD

80414cf

master

cc3044c

7c57165

e642771

6fba518

cdd47c2

end-part1

testing
master

testing2

80414cf

f56f4fa

cc3044c

7c57165

e642771

6fba518

HEAD

Merge branch 'testing'

cdd47c2

end-part1

testing
Merge Conflict
$ git merge testing2
Auto-merging names.txt
CONFLICT (content): Merge conflict in names.txt
Automatic merge failed; fix conflicts and then
commit the result.

Recommended for you

Merge Conflict
Open names.txt:
Alice
Billy
Bob
Cindy
<<<<<<< HEAD
Eve
=======
Dave
>>>>>>> testing2
Merge Conflict
Open names.txt:
Alice
Billy
Bob
Cindy
<<<<<<< HEAD
Eve
=======
Dave
>>>>>>> testing2

version from HEAD i.e master
Merge Conflict
Open names.txt:
Alice
Billy
Bob
Cindy
<<<<<<< HEAD
Eve
=======
Dave
>>>>>>> testing2

version from testing2
Resolving Merge Conflict
Edit names.txt removing the markers:
Alice
Billy
Bob
Cindy
Dave
Eve

Recommended for you

Resolving Merge Conflict
Commit the resolved merge conflict
$ git commit -am "Merge branch 'testing2' and fix
conflict"
[master 07e83b3] Merge branch 'testing2' and fix
conflict
master

testing2

80414cf

f56f4fa

cc3044c

7c57165

e642771

HEAD

Merge branch 'testing'

cdd47c2

end-part1

testing
master

HEAD

07e83b3

Merge branch 'testing2' and fix conflict

f56f4fa

Merge branch 'testing'

testing2

80414cf

cc3044c

7c57165

e642771

cdd47c2

end-part1

testing
Another way to merge:
Rebasing

Recommended for you

Working on two branches
$ git checkout -b merging-demo
Switched to a new branch 'merging-demo'
Commit to merging-demo
Modify "names.txt" to remove "Alice":
Billy
Bob
Cindy
Dave
Eve
$ git commit -am "Remove Alice"
[merging-demo 00b26cb] Remove Alice
1 file changed, 1 deletion(-)
Commit to merging-demo
Modify "names.txt" to remove "Cindy":
Billy
Bob
Dave
Eve
$ git commit -am "Remove Cindy"
[merging-demo b115e79] Remove Cindy
1 file changed, 1 deletion(-)
Switch back to master
$ git checkout master
Switched to branch 'master'

Recommended for you

Commit to master
Modify "numbers.txt" to remove "8.2":
3
9
16
12
4
$ git commit -am "Remove 8.2"
[master 0c1f192] Remove 8.2
1 file changed, 1 deletion(-)
Commit to master
Modify "numbers.txt" to remove "9":
3
16
12
4
$ git commit -am "Remove 9"
[master bc3583d] Remove 9
1 file changed, 1 deletion(-)
merging-demo
master
b115e79

00b26cb

bc3583d

0c1f192

07e83b3

HEAD
Merging
master
merging-demo
aff102e

b115e79

00b26cb

bc3583d

0c1f192

07e83b3

HEAD

Recommended for you

Rebasing
$ git rebase merging-demo
First, rewinding head to replay your work on
top of it...
Applying: Remove 8.2
Applying: Remove 9
merging-demo
master
b115e79

00b26cb

bc3583d

0c1f192

07e83b3

HEAD
merging-demo
master

b115e79

00b26cb

HEAD

bc3583d

Remove 9

0c1f192

Remove 8.2

07e83b3
master

73dd819

Remove 9

67b81ce

Remove 8.2

merging-demo

b115e79

00b26cb

07e83b3

HEAD

Recommended for you

master

73dd819

67b81ce

merging-demo

Remove 9

Remove 8.2

b115e79

00b26cb

07e83b3

HEAD
Later na lang yung
merge vs rebase
Malapit na tayo mag-Github,
but first...
Remote Repositories

Recommended for you

Clone into another folder
$ cd ..
$ git clone devcon-git101 git101
Cloning into 'git101'...
done.
Check the clone repo
$ cd git101
$ gitk
HEAD

HEAD

master

master

merging-demo

/devcon-git101

merging-demo

/git101
remotes/origin/
master

HEAD

master

master
remotes/origin/
merging-demo

merging-demo

/devcon-git101

merging-demo

/git101

HEAD

Recommended for you

Show remote repos
$ git remote
origin
"origin" remote repo
(default repo referring to the repo's origin)
$ git remote show origin
* remote origin
Fetch URL: c:/Users/user/devcon-git101
Push URL: c:/Users/user/devcon-git101
HEAD branch: master
Remote branches:
master
tracked
merging-demo tracked
testing
tracked
testing2
tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
remotes/origin/
master

HEAD

master

/devcon-git101

master

/git101

HEAD
Synchronizing with
Remote Repos

Recommended for you

Fetching demo
Go back to /devcon-git101 (either open a new terminal/Git Bash
window) and modify "names.txt" to add Greg:
Billy
Bob
Dave
Eve
Greg
$ git commit -am "Add Greg"
[master cf5f902] Add Greg
1 file changed, 1 insertion(+)
remotes/origin/
master

HEAD

master

/devcon-git101

master

/git101

HEAD
HEAD
remotes/origin/
master

master

master

/devcon-git101

/git101

HEAD
Fetching demo
Go back to git101 and fetch the changes:
$ cd ../git101
$ git fetch
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From c:/Users/user/devcon-git101
73dd819..cf5f902 master
-> origin/master

Recommended for you

HEAD
remotes/origin/
master

master

master

/devcon-git101

/git101

HEAD
remotes/origin/
master

HEAD

master
master

/devcon-git101

/git101

HEAD
Merge the fetched branch
$ git merge origin/master
Updating 73dd819..cf5f902
Fast-forward
names.txt | 1 +
1 file changed, 1 insertion(+)
remotes/origin/
master

HEAD

master
master

/devcon-git101

/git101

HEAD

Recommended for you

A fast-forward occurs when you merge a
branch which has HEAD as an ancestor.
In this case, only the references are affected.
remotes/origin/
master

HEAD

master

master

/devcon-git101

/git101

HEAD
Shortcut
$ git fetch
$ git merge origin/master
is equivalent to
$ git pull
if you're in master branch.
We'll discuss more of this later.
Now that we understand the
basic idea behind remote repos,
let's proceed to Github...
Sign-up at https://github.com
There are multiple ways to
authenticate users in Git.
We'll discuss the most secure
one: via SSH keys.

Recommended for you

Cryptography pasakalye...
Authentication via Password

Client

Server
Authentication via Password

username + password

Client sends
credentials

Server verifies

password
DB
Authentication via Password

username + password

Client sends
credentials

can be intercepted
e.g. FTP

Server verifies

password
DB

Recommended for you

Authentication via SSH Key
(oversimplified)

Client has 2 "keys"

private key
public key

Server
Authentication via SSH Key
(oversimplified)

Client has 2 "keys"

private key
public key

Server has a list of
authorized keys
Authentication via SSH Key
(oversimplified)
First, the public key must be sent to the server securely beforehand.

Client has 2 "keys"

private key
public key

Server has a list of
authorized keys
Authentication via SSH Key
(oversimplified)
Using the private key, client can create a package that
can only be unlocked by the corresponding public key
and only that public key.

Client

private key
public key

Server has a list of
authorized keys

Recommended for you

Authentication via SSH Key
(oversimplified)
Using the private key, client can create a package that
can only be unlocked by the corresponding public key
and only that public key.

Client

private key
public key

Server has a list of
authorized keys
Authentication via SSH Key
(oversimplified)
Using the private key, client can create a package that
can only be unlocked by the corresponding public key
and only that public key.

Client

private key
public key

Server has a list of
authorized keys
Authentication via SSH Key
(oversimplified)
Using the private key, client can create a package that
can only be unlocked by the corresponding public key
and only that public key.

Client

private key
public key

doesn't matter if
intercepted since
they still need to
crack it.

Server has a list of
authorized keys
How to generate your SSH Keys:
https://help.github.com/articles/generating-ssh-keys

Also, follow the steps to add your public
key to Github.

Recommended for you

If you want to be secure, use a
passphrase.
However, if you're using Windows, you
will need to enter it every time you run
a git command that connects to Github.
Fortunately, there is a workaround
that will only require you to enter it
once per session.
http://stackoverflow.com/a/9011152
Create a repo in Github for
devcon-git101
https://github.com/new
Pushing devcon-git101
Go back to devcon-git101 and push it to your new repo (use SSH url)
$ git remote add origin git@github.com:user/devcon-git101.git
$ git push -u origin master
Warning: Permanently added the RSA host key for IP address
'192.30.252.130' to the list of known hosts.
Enter passphrase for key '/c/Users/user/.ssh/id_rsa':
Counting objects: 40, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (24/24), done.
Writing objects: 100% (40/40), 3.41 KiB, done.
Total 40 (delta 3), reused 0 (delta 0)
To git@github.com:user/devcon-git101.git
* [new branch]
master -> master
Branch master set up to track remote branch master from origin.

Recommended for you

git push
Note that "git push" only pushes a single branch.
If you want to push all branches you can use:

$ git push REMOTE --all
If you want to push all tags you can use:

$ git push REMOTE --tags
Clone into another folder
$ cd ..
$ git clone git@github.com:user/devcon-git101.git github-git101
Cloning into 'github-git101'...
remote: Counting objects: 40, done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 40 (delta 3), reused 40 (delta 3)
Receiving objects: 100% (40/40), done.
Resolving deltas: 100% (3/3), done.
done.
play time
With the cloned folder, you can now play around with certain
collaboration scenarios. For example:
1. Make some changes in /devcon-git101
2. Commit it via "git commit"
3. Push it to the repo at Github via "git push"
4. Go to /github-git101 and pull the changes via "git pull"
Want to let someone else push to
your repo?
Go to the repo Settings →
Collaborators and add your friends.

Recommended for you

Push/Pull
You'll quickly notice that git push only allows
fast-forward changes to be pushed.
In simpler terms, you cannot push until you pull
the latest changes from the remote.
pull + rebase
Want to get rid of the distracting merge commits
whenever you pull when you have pending
commits? Tell git to rebase instead of merging:
$ git pull --rebase origin master
Best Practices
merge vs rebase
The problem with rebase is that you can overwrite
commits already on the remote repository and this can
affect your team.
That said, people generally use rebase when working
together on a single branch (e.g. git pull --rebase
origin master) and merge when merging branches.

Recommended for you

Project Workflow
Here's the most basic workflow for working with with others
through version control systems:
1. Double check if the project work e.g. compiles, pages load, etc.
2. Stage and commit your changes.
3. Before pushing, pull changes from the remote project repo. If
there are no changes, skip to step 5.
4. Resolve conflicts, if any, then go back to step 1.
5. Push your changes.
Communicate!
Version control systems aims to improve communication
between team members, not replace it.

Always consult with the other person whenever
you encounter a merge conflict.
Broken Builds
To repeat step 1:
1. Double check if the project work e.g. compiles, pages load, etc.
Broken builds are what we call published commits that have
obvious critical, show-stopping bugs.
That said, it's better to delay pushing your commits to spend
more time making sure that the project works rather than waste
everyone's time.
Work in Progress
Avoid publishing half-done work as it can lead to
broken builds.
If you need to push those changes (e.g. you want
a backup), put them in a branch then push that
branch. Or consider using git stash.

Recommended for you

Helpful Stuff
that we will still not explain in detail...
Graphical Git Tools
Client - Server VCS
vs
Distributed VCS
Push-based
vs
Pull-based

Recommended for you

Backups
GitHub as a Project
Management Tool
GitHub as a Project
Management Tool for
Open Source Projects
GitHub as a Portfolio

Recommended for you

Branches + Workflow
Tagging + Deployment
Free Private Repos
Since Github is only free for public repos, you might want to
look into the following to keep your source code private:
Assembla (https://www.assembla.com)
- 1 private repo, limited to 3 collaborators
BitBucket (https://bitbucket.org/)
- Unlimited private repos, limited to 5 collaborators
Github Educational Accounts (https://github.com/edu)
- free accounts for students and teachers
Summary of Commands
git branch - list, create, or delete branches
git checkout - checkout a branch or a path
git merge - merge two or more branches
git rebase - move commits to the end of a branch
git clone - make a local copy of a repository
git remote - list, create, or delete remote repos
git fetch - retrieve objects/changes from a repository
git pull - fetch + merge or rebase
git push - publish local commits to a remote

Recommended for you

Summary of Command
Variations
git checkout -b
- create and checkout branch
git remote add
- add a new remote repository to track
git remote rm
- remove remote repository
git pull --rebase
- rebase instead of merge when pulling
Commands that I use
everyday
git pull --rebase
git add
git commit -am "blah blah"
gitk / git log / git status / git diff
git push
Commands that I use less
often
git clone
git remote add
git remote -v
git checkout <branch>
git rebase <branch> / git merge <branch>
git checkout -- <path>
git reset --hard <hash>
git revert
Thank You For Listening!

Recommended for you

More Related Content

What's hot

git and github
git and githubgit and github
git and github
Darren Oakley
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using Git
Geoff Hoffman
 
Grokking opensource with github
Grokking opensource with githubGrokking opensource with github
Grokking opensource with github
GoogleDeveloperStude4
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
Nilay Binjola
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
PRIYATHAMDARISI
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With Git
Nick Quaranto
 
A Practical Introduction to git
A Practical Introduction to gitA Practical Introduction to git
A Practical Introduction to git
Emanuele Olivetti
 
Git real slides
Git real slidesGit real slides
Git real slides
Lucas Couto
 
Git Terminologies
Git TerminologiesGit Terminologies
Git Terminologies
Yash
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
HubSpot
 
Git & GitHub WorkShop
Git & GitHub WorkShopGit & GitHub WorkShop
Git & GitHub WorkShop
SheilaJimenezMorejon
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
Panagiotis Papadopoulos
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
E Carter
 
Git and Github
Git and GithubGit and Github
Git and Github
Wen-Tien Chang
 
Git & Github for beginners
Git & Github for beginnersGit & Github for beginners
Git & Github for beginners
Paulo Henrique Nonaka
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
Md. Ahsan Habib Nayan
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
Naveen Pandey
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with Git
Luigi De Russis
 
Introduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsIntroduction to Git Commands and Concepts
Introduction to Git Commands and Concepts
Carl Brown
 
Github basics
Github basicsGithub basics
Github basics
Radoslav Georgiev
 

What's hot (20)

git and github
git and githubgit and github
git and github
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using Git
 
Grokking opensource with github
Grokking opensource with githubGrokking opensource with github
Grokking opensource with github
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With Git
 
A Practical Introduction to git
A Practical Introduction to gitA Practical Introduction to git
A Practical Introduction to git
 
Git real slides
Git real slidesGit real slides
Git real slides
 
Git Terminologies
Git TerminologiesGit Terminologies
Git Terminologies
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 
Git & GitHub WorkShop
Git & GitHub WorkShopGit & GitHub WorkShop
Git & GitHub WorkShop
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
 
Git and Github
Git and GithubGit and Github
Git and Github
 
Git & Github for beginners
Git & Github for beginnersGit & Github for beginners
Git & Github for beginners
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with Git
 
Introduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsIntroduction to Git Commands and Concepts
Introduction to Git Commands and Concepts
 
Github basics
Github basicsGithub basics
Github basics
 

Similar to Version Control with Git for Beginners

Git Basics (Professionals)
 Git Basics (Professionals) Git Basics (Professionals)
Git Basics (Professionals)
bryanbibat
 
Git_real_slides
Git_real_slidesGit_real_slides
Git_real_slides
Khanh NL-bantoilatoi
 
Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHub
Lucas Videla
 
Intro to Git DevOps Tally Presentation 101615
Intro to Git DevOps Tally Presentation 101615Intro to Git DevOps Tally Presentation 101615
Intro to Git DevOps Tally Presentation 101615
Brian K. Vagnini
 
Git Concepts, Commands and Connectivity
Git Concepts, Commands and ConnectivityGit Concepts, Commands and Connectivity
Git Concepts, Commands and Connectivity
Raja Soundaramourty
 
Gittalk
GittalkGittalk
Gittalk
prtinsley
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
Aleksey Asiutin
 
Loading...git
Loading...gitLoading...git
Loading...git
Rafael García
 
Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use It
Daniel Kummer
 
Git
GitGit
Introduction to Git for Artists
Introduction to Git for ArtistsIntroduction to Git for Artists
Introduction to Git for Artists
David Newbury
 
GitSetupLinux
GitSetupLinuxGitSetupLinux
GitSetupLinux
Shubham Verma
 
Git setuplinux
Git setuplinuxGit setuplinux
Git setuplinux
Shubham Verma
 
Git it on (includes git hub)
Git it on (includes git hub)Git it on (includes git hub)
Git it on (includes git hub)
Martin Bing
 
Git basics
Git basicsGit basics
Git basics
Amit Sawhney
 
Nge-GIT (Belajar Git Bareng)
Nge-GIT (Belajar Git Bareng)Nge-GIT (Belajar Git Bareng)
Nge-GIT (Belajar Git Bareng)
Mizan Riqzia
 
390a gitintro 12au
390a gitintro 12au390a gitintro 12au
390a gitintro 12au
Nguyen Van Hung
 
簡單介紹git
簡單介紹git簡單介紹git
簡單介紹git
Grace Chien
 
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Codemotion
 
Introduction To Git Workshop
Introduction To Git WorkshopIntroduction To Git Workshop
Introduction To Git Workshop
themystic_ca
 

Similar to Version Control with Git for Beginners (20)

Git Basics (Professionals)
 Git Basics (Professionals) Git Basics (Professionals)
Git Basics (Professionals)
 
Git_real_slides
Git_real_slidesGit_real_slides
Git_real_slides
 
Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHub
 
Intro to Git DevOps Tally Presentation 101615
Intro to Git DevOps Tally Presentation 101615Intro to Git DevOps Tally Presentation 101615
Intro to Git DevOps Tally Presentation 101615
 
Git Concepts, Commands and Connectivity
Git Concepts, Commands and ConnectivityGit Concepts, Commands and Connectivity
Git Concepts, Commands and Connectivity
 
Gittalk
GittalkGittalk
Gittalk
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Loading...git
Loading...gitLoading...git
Loading...git
 
Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use It
 
Git
GitGit
Git
 
Introduction to Git for Artists
Introduction to Git for ArtistsIntroduction to Git for Artists
Introduction to Git for Artists
 
GitSetupLinux
GitSetupLinuxGitSetupLinux
GitSetupLinux
 
Git setuplinux
Git setuplinuxGit setuplinux
Git setuplinux
 
Git it on (includes git hub)
Git it on (includes git hub)Git it on (includes git hub)
Git it on (includes git hub)
 
Git basics
Git basicsGit basics
Git basics
 
Nge-GIT (Belajar Git Bareng)
Nge-GIT (Belajar Git Bareng)Nge-GIT (Belajar Git Bareng)
Nge-GIT (Belajar Git Bareng)
 
390a gitintro 12au
390a gitintro 12au390a gitintro 12au
390a gitintro 12au
 
簡單介紹git
簡單介紹git簡單介紹git
簡單介紹git
 
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
 
Introduction To Git Workshop
Introduction To Git WorkshopIntroduction To Git Workshop
Introduction To Git Workshop
 

More from bryanbibat

Hd 10 japan
Hd 10 japanHd 10 japan
Hd 10 japan
bryanbibat
 
Static Sites in Ruby
Static Sites in RubyStatic Sites in Ruby
Static Sites in Ruby
bryanbibat
 
So You Want to Teach Ruby and Rails...
So You Want to Teach Ruby and Rails...So You Want to Teach Ruby and Rails...
So You Want to Teach Ruby and Rails...
bryanbibat
 
Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0
Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0
Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0
bryanbibat
 
Rails is Easy*
Rails is Easy*Rails is Easy*
Rails is Easy*
bryanbibat
 
Things Future IT Students Should Know (But Don't)
Things Future IT Students Should Know (But Don't)Things Future IT Students Should Know (But Don't)
Things Future IT Students Should Know (But Don't)
bryanbibat
 
Things IT Undergrads Should Know (But Don't)
Things IT Undergrads Should Know (But Don't)Things IT Undergrads Should Know (But Don't)
Things IT Undergrads Should Know (But Don't)
bryanbibat
 
From Novice to Expert: A Pragmatic Approach to Learning
From Novice to Expert: A Pragmatic Approach to LearningFrom Novice to Expert: A Pragmatic Approach to Learning
From Novice to Expert: A Pragmatic Approach to Learning
bryanbibat
 
Lambda Expressions in Java 8
Lambda Expressions in Java 8Lambda Expressions in Java 8
Lambda Expressions in Java 8
bryanbibat
 
Preparing for the WebGeek DevCup
Preparing for the WebGeek DevCupPreparing for the WebGeek DevCup
Preparing for the WebGeek DevCup
bryanbibat
 
Productive text editing with Vim
Productive text editing with VimProductive text editing with Vim
Productive text editing with Vim
bryanbibat
 
Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)
bryanbibat
 
Latest Trends in Web Technologies
Latest Trends in Web TechnologiesLatest Trends in Web Technologies
Latest Trends in Web Technologies
bryanbibat
 
Virtualization
VirtualizationVirtualization
Virtualization
bryanbibat
 
Some Myths in Software Development
Some Myths in Software DevelopmentSome Myths in Software Development
Some Myths in Software Development
bryanbibat
 
Latest Trends in Open Source Web Technologies
Latest Trends in Open Source Web TechnologiesLatest Trends in Open Source Web Technologies
Latest Trends in Open Source Web Technologies
bryanbibat
 
What it takes to be a Web Developer
What it takes to be a Web DeveloperWhat it takes to be a Web Developer
What it takes to be a Web Developer
bryanbibat
 
Ruby and Rails by example
Ruby and Rails by exampleRuby and Rails by example
Ruby and Rails by example
bryanbibat
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
bryanbibat
 
before you leap
before you leapbefore you leap
before you leap
bryanbibat
 

More from bryanbibat (20)

Hd 10 japan
Hd 10 japanHd 10 japan
Hd 10 japan
 
Static Sites in Ruby
Static Sites in RubyStatic Sites in Ruby
Static Sites in Ruby
 
So You Want to Teach Ruby and Rails...
So You Want to Teach Ruby and Rails...So You Want to Teach Ruby and Rails...
So You Want to Teach Ruby and Rails...
 
Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0
Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0
Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0
 
Rails is Easy*
Rails is Easy*Rails is Easy*
Rails is Easy*
 
Things Future IT Students Should Know (But Don't)
Things Future IT Students Should Know (But Don't)Things Future IT Students Should Know (But Don't)
Things Future IT Students Should Know (But Don't)
 
Things IT Undergrads Should Know (But Don't)
Things IT Undergrads Should Know (But Don't)Things IT Undergrads Should Know (But Don't)
Things IT Undergrads Should Know (But Don't)
 
From Novice to Expert: A Pragmatic Approach to Learning
From Novice to Expert: A Pragmatic Approach to LearningFrom Novice to Expert: A Pragmatic Approach to Learning
From Novice to Expert: A Pragmatic Approach to Learning
 
Lambda Expressions in Java 8
Lambda Expressions in Java 8Lambda Expressions in Java 8
Lambda Expressions in Java 8
 
Preparing for the WebGeek DevCup
Preparing for the WebGeek DevCupPreparing for the WebGeek DevCup
Preparing for the WebGeek DevCup
 
Productive text editing with Vim
Productive text editing with VimProductive text editing with Vim
Productive text editing with Vim
 
Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)
 
Latest Trends in Web Technologies
Latest Trends in Web TechnologiesLatest Trends in Web Technologies
Latest Trends in Web Technologies
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Some Myths in Software Development
Some Myths in Software DevelopmentSome Myths in Software Development
Some Myths in Software Development
 
Latest Trends in Open Source Web Technologies
Latest Trends in Open Source Web TechnologiesLatest Trends in Open Source Web Technologies
Latest Trends in Open Source Web Technologies
 
What it takes to be a Web Developer
What it takes to be a Web DeveloperWhat it takes to be a Web Developer
What it takes to be a Web Developer
 
Ruby and Rails by example
Ruby and Rails by exampleRuby and Rails by example
Ruby and Rails by example
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
before you leap
before you leapbefore you leap
before you leap
 

Recently uploaded

What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 

Recently uploaded (20)

What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 

Version Control with Git for Beginners