+ All Categories
Home > Technology > Git workshop

Git workshop

Date post: 02-Jul-2015
Category:
Upload: al-sayed-gamal
View: 496 times
Download: 0 times
Share this document with a friend
Description:
Introduction to git SCM, git flow workflow and some best practices.
24
Transcript
Page 1: Git workshop
Page 2: Git workshop

GITWorkshop by @AlSayedGamal

Page 3: Git workshop

AGENDA

• Introduction

• getting started

• git workflow

• Tips and tricks

• social coding (github)

Page 4: Git workshop

INTRODUCTION

• What’s git and what’s VCS?

• git history

Page 5: Git workshop

SH*T HAPPENSIf it’s not power outage it’s disk failure os failure,etc..

Sayevt ya Ali

Page 6: Git workshop

WHAT ABOUT VCS THAT HANDLES LINUX ?The development of Git began on 3 April 2005. The project was announced on 6 April, and became self-hosting as of 7 April.

Page 7: Git workshop

GIT CHARACTERISTICS• Strong support for non-linear

development

• Distributed development

• Compatibility with existing systems/protocols

• Efficient handling of large projects

• Cryptographic authentication of history

• Pluggable merge strategies

• Toolkit-based design(C & Shell)

Page 8: Git workshop

HOW GIT STORES DATA

• git has three main types

• blob (binary large object)

• tree (basically tree of blobs)

• graph (directed graph of commits)

Page 9: Git workshop
Page 10: Git workshop
Page 11: Git workshop

INSTALLING GIT• On centos you will always have

dependancies resolved.

• On ubuntu package name is git >= 12.04

• For mac I use homebrew however ports and fink should work the same.

• On windows give linux a chance or try cygwin it may be installed else go for msysGit >= 1.7.10

yum install git

apt-get install git

redhat

debian

brew install git

use linux or

mac

windows

install cygwin or msysGit

Page 12: Git workshop

GETTING STARTED• Git the command line

• New repo

• New file

• Basic config

• First commit

• View difference

• Remove and rename files

• Copy your repo

Page 13: Git workshop

BRANCHING AND MERGING

• git branch <branch name>

• git checkout -b <branch name>

• git checkout <branch name>

• git merge <other branch>

Page 14: Git workshop

GIT FLOW BRANCHINGgit flow command line tool will help you structure your

app.

Page 15: Git workshop

TIPS AND TRICKSThese tips will be used almost in every project.

Page 16: Git workshop

IGNORE.gitignore files that shouldn’t be tracked.

Like .pyc files

Page 17: Git workshop

BLAMEgit blame to know who is responsible of this change.

Try sublime (and your favourite IDE) blame integration.

Page 18: Git workshop

TEST > PUSHBefore pushing make sure that you pass test

django hint: in .bachrc alias gpush to ./manage.py test & git push origin develop

./manage.py test # if all pass git push origin develop

Page 19: Git workshop

STASH AND CLEAN

• git stash will clean your stage to the most recent commit.

• git stash apply to bring your mess again.

• Clean untracked files:

• git clean -d <path>

Page 20: Git workshop

TAG

• git tag -a v1.0.0 -m "Creating the first release candidate”

• git show v1.0.0

Page 21: Git workshop

GITHUB

• Normal Commercial membership.

• Star, watch and follow.

• pulse.

Page 22: Git workshop

REFERENCES• gitready.com

• git-scm.com

• Book: version control with git 2nd edition - O’Reilly.

• wikipedia | en.wikipedia.org/wiki/Git_(software)

• github.com

Page 23: Git workshop

QUESTIONS ?

Page 24: Git workshop

GIT COMMIT -M “THANK YOU”


Recommended