git 201
DESCRIPTION
A secondary presentation for Git given for 0xFreeFridays meetups at Technological Education Institute of PiraeusTRANSCRIPT
Git 201FreeFriday @ Teipir
Real quick...
Dimitris Tsironis
Front-end Engineer at BugSense,
JavaScript lover || hater,
Open-source & (Coffee)Script addict,
Technology afficcionado
Previously onFree Fridays...
How can we work more effectively
in a team?
Introducing Branching
have multiple versions of the same project
work async & simultaneously
safer & more clean way to do things
very “cheap” branches
Git
This is where the Git magic is happening!
creating a branch
$ git branch <new-branch-name> # Creates a new branch
$ git checkout <new-branch-name> # Switch to new branch
$ git branch # Check your local branches
creating a branch #2
# Creates a new branch and switches to it immediately
$ git checkout -b <new-branch-name>
Now, you can codeas hard as you can!
Cool story, bro!But, how can we move our code to our
main branch and continue with our lives?
Merging
Merge two branches
Keep the chances you want to keep
You’re in control
It’s easier in Git than in other VCS
merging a local branch
$ git checkout <dest-branch> # Switch to destination
$ git merge <branch-name> # Merge the specified branch
$ git log # Check if everything is fine
Once you’ve finished...You should do some housekeeping!
deleting a branch
# Deletes branch, but keeps commits
$ git branch -d <branch-name>
# Force deletes everything, both branch and its commits
$ git branch -D <branch-name> # USE WISELY!!
The Github wayHow Github handlesbranches & merging
Branches on Github
Nothing special here
Push your branches on Github
Has some awesome tools for branches
pushing to Github
# Push branch on Github
$ git push origin <branch-name>
Pull RequestsA nice, Web 2.0 way to handle merges,
branch and working in a team
Pull requests
Promoting collaboration
Encouraging open source contributions (fork)
Discussing features & changes on the go
Merge without hassle
and delete the branch
The real power is in the details!
Let’s see...
Pull requests: reloaded
Discussion for almost everything
Can be created before coding starts
You have a timeline history of commits
Forum-like functionality
lots of integrations and extra tools
Extra
tig (apt-get install tig, brew install tig)
Github Help
Git basics presentation
Git documentation
And, as always, practice, practice,
PRACTICE!
Thanks!@tsironakos