SlideShare a Scribd company logo
Learning Git with Workflows
Mosky
This slides

2
This slides
won't
explain every options of Git commands;
and the internal of Git.

2
This slides
won't
explain every options of Git commands;
and the internal of Git.
will
let you start to use Git immediately;
and learn the common Git workflows.
2
Mosky

3
Mosky
A Python engineer at Pinkoi

3
Mosky
A Python engineer at Pinkoi
An author of some Python packages
MoSQL, Clime, ...

3
Mosky
A Python engineer at Pinkoi
An author of some Python packages
MoSQL, Clime, ...
A speaker at several conferences
PyCon APAC 2013, COSCUP 2013,
PyCon TW 2013, ...

3
Mosky
A Python engineer at Pinkoi
An author of some Python packages
MoSQL, Clime, ...
A speaker at several conferences
PyCon APAC 2013, COSCUP 2013,
PyCon TW 2013, ...
A Python trainer

3
Mosky
A Python engineer at Pinkoi
An author of some Python packages
MoSQL, Clime, ...
A speaker at several conferences
PyCon APAC 2013, COSCUP 2013,
PyCon TW 2013, ...
A Python trainer
http://mosky.tw/
3
Outline

6
Outline
Setup Git

6
Outline
Setup Git
Routine
Core
Secondary

6
Outline
Setup Git
Routine
Core
Secondary
Branching

6
Outline
Setup Git
Routine
Core
Secondary
Branching
Remote Repository

6
Outline
Setup Git
Routine
Core
Secondary
Branching
Remote Repository
A Co-working Workflow
6
Setup Git
Get Git!

8
Get Git!
Ubuntu, Debian or any APT-based Linux
$ sudo apt-get install git-core

8
Get Git!
Ubuntu, Debian or any APT-based Linux
$ sudo apt-get install git-core
Mac
$ brew install git
http://brew.sh/

8
Get Git!
Ubuntu, Debian or any APT-based Linux
$ sudo apt-get install git-core
Mac
$ brew install git
http://brew.sh/
Windows
http://git-scm.com/download/win
8
Is Git there?

9
GUIs are available

10
GUIs are available
Thanks GitHub!

10
GUIs are available
Thanks GitHub!
"Github for Mac"
http://mac.github.com/

10
GUIs are available
Thanks GitHub!
"Github for Mac"
http://mac.github.com/
"Github for Windows"
http://windows.github.com/

10
GUIs are available
Thanks GitHub!
"Github for Mac"
http://mac.github.com/
"Github for Windows"
http://windows.github.com/
Other
http://git-scm.com/downloads/guis
10
Tell Git who you are

11
Tell Git who you are

$ git config --global user.name "Mosky Liu"

11
Tell Git who you are

$ git config --global user.name "Mosky Liu"
$ git config --global user.email mosky.tw@gmail.com

11
Other Git configs

12
Other Git configs

$ git config --global core.editor emacs

12
Other Git configs

$ git config --global core.editor emacs
$ git config --global merge.tool vimdiff

12
Other Git configs

$ git config --global core.editor emacs
$ git config --global merge.tool vimdiff
$ git config --list

12
Other Git configs

$ git config --global core.editor emacs
$ git config --global merge.tool vimdiff
$ git config --list
$ vim ~/.gitconfig

12
Other Git configs

$ git config --global core.editor emacs
$ git config --global merge.tool vimdiff
$ git config --list
$ vim ~/.gitconfig

http://j.mp/mosky-gitconfig

12
Core Routine
Create a repository

14
Create a repository

$ git init [<directory>]

14
Commit changes

15
Commit changes

$ git add <file> ...

15
Commit changes

$ git add <file> ...
$ git commit

15
Simplest Workflow

16
Simplest Workflow
(1) $ git init <directory>

16
Simplest Workflow
(1) $ git init <directory>
(2)

(modify file)

16
Simplest Workflow
(1) $ git init <directory>
(2)

(modify file)

(3) $ git add <file> ...

16
Simplest Workflow
(1) $ git init <directory>
(2)

(modify file)

(3) $ git add <file> ...
(4) $ git commit

16
Simplest Workflow
(1) $ git init <directory>
(2)

(modify file)

(3) $ git add <file> ...
(4) $ git commit
# Back 2

16
Simplest Workflow
(1) $ git init <directory>
(2)

(modify file)

(3) $ git add <file> ...
(4) $ git commit
# Back 2
The end of the core --- it's super easy!
16
Secondary Routine
Check status of files

18
Check status of files

$ git status

18
Check status of files

$ git status

18
Check what you changed

19
Check what you changed

$ git diff

19
Check what you changed

$ git diff

19
Check commits

20
Check commits

$ git log

20
Check commits

$ git log

20
Move between commits

21
Move between commits
$ git checkout <commit>

21
Move between commits
$ git checkout <commit>
<commit>
599d439fd3813298da16f12ed40f3a0
716872c30
599d439
HEAD
21
Name commit

22
Name commit

$ git tag <tagname>
$ git checkout 599d439
$ git tag v0.1
$ git checkout v0.1

22
Reset to a commit

23
Reset to a commit

$ git reset <commit>
Reset HEAD to <commit>.

23
Make a "reverse" commit

24
Make a "reverse" commit

$ git revert <commit>
Apply a "reverse" commit.

24
Reset to a commit

25
Reset to a commit

26
Make a "reverse" commit

27
Make a "reverse" commit

28
Branching
master
master

topic
HEAD
master

topic
HEAD
master

topic
master

topic
HEAD
master

topic
HEAD
master

topic
HEAD
Create a branch

32
Create a branch

$ git branch <branchname>

32
Create a branch

$ git branch <branchname>
$ git checkout <branchname>

32
Create a branch

$ git branch <branchname>
$ git checkout <branchname>
or

32
Create a branch

$ git branch <branchname>
$ git checkout <branchname>
or
$ git checkout -b <branchname>

32
Delete and list branch(es)

33
Delete and list branch(es)

$ git branch -d <branchname>
Delete branch.

33
Delete and list branch(es)

$ git branch -d <branchname>
Delete branch.
$ git branch
List branches.

33
Move between branches

34
Move between branches

$ git checkout <branchname>

34
Merge a branch back

35
Merge a branch back

$ git checkout <base-branch>

35
Merge a branch back

$ git checkout <base-branch>
$ git merge <topic-branch>

35
Branching Workflow

37
Branching Workflow
...

37
Branching Workflow
...
(1)

$ git branch <topic-branch>

37
Branching Workflow
...
(1)

$ git branch <topic-branch>

(2)

$ git checkout <topic-branch>

37
Branching Workflow
...
(1)

$ git branch <topic-branch>

(2)

$ git checkout <topic-branch>

(3)

(modify file)

37
Branching Workflow
...
(1)

$ git branch <topic-branch>

(2)

$ git checkout <topic-branch>

(3)

(modify file)
...

37
Branching Workflow
...
(1)

$ git branch <topic-branch>

(2)

$ git checkout <topic-branch>

(3)

(modify file)
...

(4)

$ git commit

37
Branching Workflow
...
(1)

$ git branch <topic-branch>

(2)

$ git checkout <topic-branch>

(3)

(modify file)
...

(4)

$ git commit
# Back 3 until finish "topic"

37
Branching Workflow
...
(1)

$ git branch <topic-branch>

(2)

$ git checkout <topic-branch>

(3)

(modify file)
...

(4)

$ git commit
# Back 3 until finish "topic"

(5)

$ git checkout <base-branch>

37
Branching Workflow
...
(1)

$ git branch <topic-branch>

(2)

$ git checkout <topic-branch>

(3)

(modify file)
...

(4)

$ git commit
# Back 3 until finish "topic"

(5)

$ git checkout <base-branch>

(6)

$ git merge <topic-branch>
37
Remote Repository
Clone a remote repository

39
Clone a remote repository

$ git clone <repos> <dir>

39
Clone a remote repository

$ git clone <repos> <dir>
<repos>
https://
github.com/torvalds/linux.git

39
Create a remote repository

40
Create a remote repository

$ git init --bare

40
Create a remote repository

$ git init --bare
or

40
Create a remote repository

$ git init --bare
or
https://github.com/repositories/new

40
Add, remove and list remotes

41
Add, remove and list remotes

$ git remote add <name> <url>
<url> can be a local path.

41
Add, remove and list remotes

$ git remote add <name> <url>
<url> can be a local path.
$ git remote remove <name>

41
Add, remove and list remotes

$ git remote add <name> <url>
<url> can be a local path.
$ git remote remove <name>
$ git remote

41
Push commits to remote

42
Push commits to remote
$ git push <repos> <refspec>...

42
Push commits to remote
$ git push <repos> <refspec>...
<refspec>
usually is branch or tag name
[+]<src>[:<dst>]
:<dst> to delete remote reference.
42
Pull commits from remote

43
Pull commits from remote

$ git pull <repos> <refspec>...

43
A Co-working Workflow
Three Principles

45
Three Principles

1. master is production.

45
Three Principles

1. master is production.
2. dev only includes stable and reviewed code.

45
Three Principles

1. master is production.
2. dev only includes stable and reviewed code.
3. Create topic branch to resolve issue all the time.

45
Three Phases

46
Three Phases
1. Resolving
Create a topic branch to resolve issue.

46
Three Phases
1. Resolving
Create a topic branch to resolve issue.
2. Reviewing
Review the code.

46
Three Phases
1. Resolving
Create a topic branch to resolve issue.
2. Reviewing
Review the code.
3. Cleanup
Merge into dev and remove topic branch.
46
47
Assigner: "We need to resolve this issue."

47
Assigner: "We need to resolve this issue."
Assignee: "Yes, sir!"

47
Assigner: "We need to resolve this issue."
Assignee: "Yes, sir!"
Assignee (dev) $ git checkout -b topic

47
Assigner: "We need to resolve this issue."
Assignee: "Yes, sir!"
Assignee (dev) $ git checkout -b topic
Assignee (topic) $ (commit...)

47
Assigner: "We need to resolve this issue."
Assignee: "Yes, sir!"
Assignee (dev) $ git checkout -b topic
Assignee (topic) $ (commit...)
Assignee (topic) $ git push origin topic

47
Assigner: "We need to resolve this issue."
Assignee: "Yes, sir!"
Assignee (dev) $ git checkout -b topic
Assignee (topic) $ (commit...)
Assignee (topic) $ git push origin topic

Until resolve, call assigner for review.
47
48
Assignee: "I resolved!"

48
Assignee: "I resolved!"
Assigner: "Let me review."

48
Assignee: "I resolved!"
Assigner: "Let me review."
Assigner (dev) $ git checkout -b topic

48
Assignee: "I resolved!"
Assigner: "Let me review."
Assigner (dev) $ git checkout -b topic
Assigner (topic) $ git pull origin topic

48
Assignee: "I resolved!"
Assigner: "Let me review."
Assigner (dev) $ git checkout -b topic
Assigner (topic) $ git pull origin topic
Assigner (topic) $ git diff ...dev

48
Assignee: "I resolved!"
Assigner: "Let me review."
Assigner (dev) $ git checkout -b topic
Assigner (topic) $ git pull origin topic
Assigner (topic) $ git diff ...dev

If it is not good enough, call assignee to fix.
48
49
Assigner (topic) $ git checkout dev

49
Assigner (topic) $ git checkout dev
Assigner (dev) $ git merge topic

49
Assigner (topic) $ git checkout dev
Assigner (dev) $ git merge topic
Assigner (dev) $ git push origin dev

49
Assigner (topic) $ git checkout dev
Assigner (dev) $ git merge topic
Assigner (dev) $ git push origin dev

Assigner: "Good job!"

49
Assigner (topic) $ git checkout dev
Assigner (dev) $ git merge topic
Assigner (dev) $ git push origin dev

Assigner: "Good job!"
Assignee (dev) $ git branch -d topic

49
Assigner (topic) $ git checkout dev
Assigner (dev) $ git merge topic
Assigner (dev) $ git push origin dev

Assigner: "Good job!"
Assignee (dev) $ git branch -d topic
Assignee (dev) $ git push origin :topic

49
Assigner (topic) $ git checkout dev
Assigner (dev) $ git merge topic
Assigner (dev) $ git push origin dev

Assigner: "Good job!"
Assignee (dev) $ git branch -d topic
Assignee (dev) $ git push origin :topic
Assignee (dev) $ git pull origin dev
49
End
End

52
End
Use branch!

52
End
Use branch!
Workflow does matter.

52
End
Use branch!
Workflow does matter.
Git still has many magics.

52
End
Use branch!
Workflow does matter.
Git still has many magics.
Tips: http://j.mp/mosky-gitconfig

52
End
Use branch!
Workflow does matter.
Git still has many magics.
Tips: http://j.mp/mosky-gitconfig
Q&A
52

More Related Content

What's hot

DO YOU WANT TO USE A VCS
DO YOU WANT TO USE A VCSDO YOU WANT TO USE A VCS
DO YOU WANT TO USE A VCS
SeongJae Park
 
PuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With Notes
Phil Zimmerman
 
Coroutines for Kotlin Multiplatform in Practise
Coroutines for Kotlin Multiplatform in PractiseCoroutines for Kotlin Multiplatform in Practise
Coroutines for Kotlin Multiplatform in Practise
Christian Melchior
 
Coroutines and RxJava - An Asynchronicity Comparison
Coroutines and RxJava - An Asynchronicity ComparisonCoroutines and RxJava - An Asynchronicity Comparison
Coroutines and RxJava - An Asynchronicity Comparison
Manuel Vicente Vivo
 
Clean Manifests with Puppet::Tidy
Clean Manifests with Puppet::TidyClean Manifests with Puppet::Tidy
Clean Manifests with Puppet::Tidy
Puppet
 
Puppet at GitHub - PuppetConf 2013
Puppet at GitHub - PuppetConf 2013Puppet at GitHub - PuppetConf 2013
Puppet at GitHub - PuppetConf 2013
Puppet
 
Continuous Delivery of Puppet Manifests
Continuous Delivery of Puppet ManifestsContinuous Delivery of Puppet Manifests
Continuous Delivery of Puppet Manifests
Kris Buytaert
 
Debugging concurrency programs in go
Debugging concurrency programs in goDebugging concurrency programs in go
Debugging concurrency programs in go
Andrii Soldatenko
 
Sphinx autodoc - automated api documentation - PyCon.KR 2015
Sphinx autodoc - automated api documentation - PyCon.KR 2015Sphinx autodoc - automated api documentation - PyCon.KR 2015
Sphinx autodoc - automated api documentation - PyCon.KR 2015
Takayuki Shimizukawa
 
Fuzzing: The New Unit Testing
Fuzzing: The New Unit TestingFuzzing: The New Unit Testing
Fuzzing: The New Unit Testing
Dmitry Vyukov
 
Puppet loves RSpec, why you should, too
Puppet loves RSpec, why you should, tooPuppet loves RSpec, why you should, too
Puppet loves RSpec, why you should, too
Dennis Rowe
 
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in DepthA Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
Yoshifumi Kawai
 
Git Basics - RubyFest 2009
Git Basics - RubyFest 2009Git Basics - RubyFest 2009
Git Basics - RubyFest 2009
Ariejan de Vroom
 
A deep dive into PEP-3156 and the new asyncio module
A deep dive into PEP-3156 and the new asyncio moduleA deep dive into PEP-3156 and the new asyncio module
A deep dive into PEP-3156 and the new asyncio module
Saúl Ibarra Corretgé
 
Introduction to Rust language programming
Introduction to Rust language programmingIntroduction to Rust language programming
Introduction to Rust language programming
Rodolfo Finochietti
 
Php 7 hhvm and co
Php 7 hhvm and coPhp 7 hhvm and co
Php 7 hhvm and co
Pierre Joye
 
Advanced debugging  techniques in different environments
Advanced debugging  techniques in different environmentsAdvanced debugging  techniques in different environments
Advanced debugging  techniques in different environments
Andrii Soldatenko
 
Programming in Linux Environment
Programming in Linux EnvironmentProgramming in Linux Environment
Programming in Linux Environment
Dongho Kang
 
Puppet Systems Infrastructure Construction Kit
Puppet Systems Infrastructure Construction KitPuppet Systems Infrastructure Construction Kit
Puppet Systems Infrastructure Construction Kit
Alessandro Franceschi
 

What's hot (20)

DO YOU WANT TO USE A VCS
DO YOU WANT TO USE A VCSDO YOU WANT TO USE A VCS
DO YOU WANT TO USE A VCS
 
PuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With Notes
 
Coroutines for Kotlin Multiplatform in Practise
Coroutines for Kotlin Multiplatform in PractiseCoroutines for Kotlin Multiplatform in Practise
Coroutines for Kotlin Multiplatform in Practise
 
Coroutines and RxJava - An Asynchronicity Comparison
Coroutines and RxJava - An Asynchronicity ComparisonCoroutines and RxJava - An Asynchronicity Comparison
Coroutines and RxJava - An Asynchronicity Comparison
 
Clean Manifests with Puppet::Tidy
Clean Manifests with Puppet::TidyClean Manifests with Puppet::Tidy
Clean Manifests with Puppet::Tidy
 
Vim and Python
Vim and PythonVim and Python
Vim and Python
 
Puppet at GitHub - PuppetConf 2013
Puppet at GitHub - PuppetConf 2013Puppet at GitHub - PuppetConf 2013
Puppet at GitHub - PuppetConf 2013
 
Continuous Delivery of Puppet Manifests
Continuous Delivery of Puppet ManifestsContinuous Delivery of Puppet Manifests
Continuous Delivery of Puppet Manifests
 
Debugging concurrency programs in go
Debugging concurrency programs in goDebugging concurrency programs in go
Debugging concurrency programs in go
 
Sphinx autodoc - automated api documentation - PyCon.KR 2015
Sphinx autodoc - automated api documentation - PyCon.KR 2015Sphinx autodoc - automated api documentation - PyCon.KR 2015
Sphinx autodoc - automated api documentation - PyCon.KR 2015
 
Fuzzing: The New Unit Testing
Fuzzing: The New Unit TestingFuzzing: The New Unit Testing
Fuzzing: The New Unit Testing
 
Puppet loves RSpec, why you should, too
Puppet loves RSpec, why you should, tooPuppet loves RSpec, why you should, too
Puppet loves RSpec, why you should, too
 
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in DepthA Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
 
Git Basics - RubyFest 2009
Git Basics - RubyFest 2009Git Basics - RubyFest 2009
Git Basics - RubyFest 2009
 
A deep dive into PEP-3156 and the new asyncio module
A deep dive into PEP-3156 and the new asyncio moduleA deep dive into PEP-3156 and the new asyncio module
A deep dive into PEP-3156 and the new asyncio module
 
Introduction to Rust language programming
Introduction to Rust language programmingIntroduction to Rust language programming
Introduction to Rust language programming
 
Php 7 hhvm and co
Php 7 hhvm and coPhp 7 hhvm and co
Php 7 hhvm and co
 
Advanced debugging  techniques in different environments
Advanced debugging  techniques in different environmentsAdvanced debugging  techniques in different environments
Advanced debugging  techniques in different environments
 
Programming in Linux Environment
Programming in Linux EnvironmentProgramming in Linux Environment
Programming in Linux Environment
 
Puppet Systems Infrastructure Construction Kit
Puppet Systems Infrastructure Construction KitPuppet Systems Infrastructure Construction Kit
Puppet Systems Infrastructure Construction Kit
 

Viewers also liked

Boost Maintainability
Boost MaintainabilityBoost Maintainability
Boost Maintainability
Mosky Liu
 
Beyond the Style Guides
Beyond the Style GuidesBeyond the Style Guides
Beyond the Style Guides
Mosky Liu
 
Programming with Python - Basic
Programming with Python - BasicProgramming with Python - Basic
Programming with Python - Basic
Mosky Liu
 
Introduction to Clime
Introduction to ClimeIntroduction to Clime
Introduction to Clime
Mosky Liu
 
ZIPCodeTW: Find Taiwan ZIP Code by Address Fuzzily
ZIPCodeTW: Find Taiwan ZIP Code by Address FuzzilyZIPCodeTW: Find Taiwan ZIP Code by Address Fuzzily
ZIPCodeTW: Find Taiwan ZIP Code by Address Fuzzily
Mosky Liu
 
Simple Belief - Mosky @ TEDxNTUST 2015
Simple Belief - Mosky @ TEDxNTUST 2015Simple Belief - Mosky @ TEDxNTUST 2015
Simple Belief - Mosky @ TEDxNTUST 2015
Mosky Liu
 
Object-oriented Programming in Python
Object-oriented Programming in PythonObject-oriented Programming in Python
Object-oriented Programming in Python
Juan-Manuel Gimeno
 

Viewers also liked (7)

Boost Maintainability
Boost MaintainabilityBoost Maintainability
Boost Maintainability
 
Beyond the Style Guides
Beyond the Style GuidesBeyond the Style Guides
Beyond the Style Guides
 
Programming with Python - Basic
Programming with Python - BasicProgramming with Python - Basic
Programming with Python - Basic
 
Introduction to Clime
Introduction to ClimeIntroduction to Clime
Introduction to Clime
 
ZIPCodeTW: Find Taiwan ZIP Code by Address Fuzzily
ZIPCodeTW: Find Taiwan ZIP Code by Address FuzzilyZIPCodeTW: Find Taiwan ZIP Code by Address Fuzzily
ZIPCodeTW: Find Taiwan ZIP Code by Address Fuzzily
 
Simple Belief - Mosky @ TEDxNTUST 2015
Simple Belief - Mosky @ TEDxNTUST 2015Simple Belief - Mosky @ TEDxNTUST 2015
Simple Belief - Mosky @ TEDxNTUST 2015
 
Object-oriented Programming in Python
Object-oriented Programming in PythonObject-oriented Programming in Python
Object-oriented Programming in Python
 

Similar to Learning Git with Workflows

Git the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version controlGit the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version control
Becky Todd
 
Practical git for developers
Practical git for developersPractical git for developers
Practical git for developers
Wim Godden
 
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
 
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
 
Git basics
Git basicsGit basics
Git basics
Amit Sawhney
 
Working with Git
Working with GitWorking with Git
Working with Git
Pete Nicholls
 
Introduction To Git Workshop
Introduction To Git WorkshopIntroduction To Git Workshop
Introduction To Git Workshop
themystic_ca
 
Understanding about git
Understanding about gitUnderstanding about git
Understanding about git
Sothearin Ren
 
Git
GitGit
Git session Dropsolid.com
Git session Dropsolid.comGit session Dropsolid.com
Git session Dropsolid.com
dropsolid
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control SystemVictor Wong
 
Wokshop de Git
Wokshop de Git Wokshop de Git
Wokshop de Git
Alberto Leal
 
Learning Basic GIT Cmd
Learning Basic GIT CmdLearning Basic GIT Cmd
Learning Basic GIT Cmd
srinathcox
 
Git Tech Talk
Git  Tech TalkGit  Tech Talk
Git Tech Talk
Chris Johnson
 
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 101615Brian K. Vagnini
 
Git Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierGit Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easier
Christoph Matthies
 
Working in Team using Git in Unity
Working in Team using Git in UnityWorking in Team using Git in Unity
Working in Team using Git in Unity
Rifauddin Tsalitsy
 

Similar to Learning Git with Workflows (20)

Git the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version controlGit the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version control
 
Practical git for developers
Practical git for developersPractical git for developers
Practical git for developers
 
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
 
Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHub
 
GIT_In_90_Minutes
GIT_In_90_MinutesGIT_In_90_Minutes
GIT_In_90_Minutes
 
Git basics
Git basicsGit basics
Git basics
 
Working with Git
Working with GitWorking with Git
Working with Git
 
Introduction To Git Workshop
Introduction To Git WorkshopIntroduction To Git Workshop
Introduction To Git Workshop
 
Understanding about git
Understanding about gitUnderstanding about git
Understanding about git
 
Git
GitGit
Git
 
Git session Dropsolid.com
Git session Dropsolid.comGit session Dropsolid.com
Git session Dropsolid.com
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control System
 
Gittalk
GittalkGittalk
Gittalk
 
Wokshop de Git
Wokshop de Git Wokshop de Git
Wokshop de Git
 
Learning Basic GIT Cmd
Learning Basic GIT CmdLearning Basic GIT Cmd
Learning Basic GIT Cmd
 
Git Tech Talk
Git  Tech TalkGit  Tech Talk
Git Tech Talk
 
Git training
Git trainingGit training
Git training
 
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 Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierGit Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easier
 
Working in Team using Git in Unity
Working in Team using Git in UnityWorking in Team using Git in Unity
Working in Team using Git in Unity
 

More from Mosky Liu

Statistical Regression With Python
Statistical Regression With PythonStatistical Regression With Python
Statistical Regression With Python
Mosky Liu
 
Practicing Python 3
Practicing Python 3Practicing Python 3
Practicing Python 3
Mosky Liu
 
Data Science With Python
Data Science With PythonData Science With Python
Data Science With Python
Mosky Liu
 
Hypothesis Testing With Python
Hypothesis Testing With PythonHypothesis Testing With Python
Hypothesis Testing With Python
Mosky Liu
 
Elegant concurrency
Elegant concurrencyElegant concurrency
Elegant concurrency
Mosky Liu
 
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013
Mosky Liu
 
MoSQL: More than SQL, but less than ORM
MoSQL: More than SQL, but less than ORMMoSQL: More than SQL, but less than ORM
MoSQL: More than SQL, but less than ORM
Mosky Liu
 

More from Mosky Liu (7)

Statistical Regression With Python
Statistical Regression With PythonStatistical Regression With Python
Statistical Regression With Python
 
Practicing Python 3
Practicing Python 3Practicing Python 3
Practicing Python 3
 
Data Science With Python
Data Science With PythonData Science With Python
Data Science With Python
 
Hypothesis Testing With Python
Hypothesis Testing With PythonHypothesis Testing With Python
Hypothesis Testing With Python
 
Elegant concurrency
Elegant concurrencyElegant concurrency
Elegant concurrency
 
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013
 
MoSQL: More than SQL, but less than ORM
MoSQL: More than SQL, but less than ORMMoSQL: More than SQL, but less than ORM
MoSQL: More than SQL, but less than ORM
 

Recently uploaded

Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 

Recently uploaded (20)

Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 

Learning Git with Workflows