Version Control – With git and SourceKettle – Version control



Version Control – With git and SourceKettle – Version control

0 0


version-control

Short presenation on version control with git and SourceKettle

On Github Landric / version-control

Version Control

And Project Management

Tom Blount

Sildes available at: http://tomblount.co.uk/version-control

Introduction

  • What is version control?
  • What is git?
  • How to manage collaborative projects?

Version control

  • Also called source control, revision control, source management...
  • Boils down to: keeping your work safe
  • Can revert to previous versions
  • Prevents access conflicts

Version control

  • Bad examples:
    • Memory sticks
    • "Biscuit tin"
  • Better examples:
    • Cloud Services (Dropbox)
  • Good examples:
    • SVN
    • git

Version control

  • Create a repository of your work
  • Repositories maintain a history of work on a project
  • Repositories can be local or remote (or both)
  • Distributed repositories are shared across multiple machines
  • Commit your work to the repository

Git

Git

source: xkcd

Git

Overview:

Git

Setting up git:

Tom@ECS ~/Documents/SEG_Project
$ git config --global user.name "Tom"
$ git config --global user.email tb12g09@ecs.soton.ac.uk
                        

Git

Initialising a (local) repository:

Tom@ECS ~/Documents/SEG_Project
$ git init
Initialized empty Git repository in C:/Users/Tom/Documents/SEG_Project/.git/
                        

Git

Accessing an existing project:

Tom@ECS ~/Documents
$ git clone git@sourcekettle.ecs.soton.ac.uk:projects/SEG_Project.git

Cloning into 'SEG_Project'...
remote: Counting objects: 4051, done.
remote: Compressing objects: 100% (2824/2824), done.
remote: Total 4051 (delta 1170), reused 4051 (delta 1170)
Receiving objects: 100% (4051/4051), 2.10 MiB | 314.00 KiB/s, done.
Resolving deltas: 100% (1170/1170), done.
Checking connectivity... done.
Checking out files: 100% (1384/1384), done.
                        

(You might need a Public Key to be able to do this)

Git

Checking the status:

Tom@ECS ~/Documents/SEG_Project (master)
$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)
                        

Git

Creating and adding a file:

Tom@ECS ~/Documents/SEG_Project (master)
$ touch README
$ git add README
$ git status

# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
#       new file: README
#
                        

Git

Committing a file:

Tom@ECS ~/Documents/SEG_Project (master)
$ git commit -am "Added README file"

[master (root-commit) d616bbe] Added a README
 1 file changed, 0 insertions(+), 0 deletions(-)
  create mode 10064 README
                        

Git

Connecting to a remote repository:

Tom@ECS ~/Documents/SEG_Project (master)
$ git remote add origin git@sourcekettle.ecs.soton.ac.uk:projects/SEG_Project.git
                        

(You might need a Public Key to be able to do this too)

Git

Pulling/pushing changes from/to the remote server:

Tom@ECS ~/Documents/SEG_Project (master)
$ git pull -u origin master
Already up-to-date

$ git push
Counting objects: 3, done.
Writing objects: 100% (3/3), 215 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@sourcekettle.ecs.soton.ac.uk:projects/SEG_Project.git
 * [new branch]     master -> master
Branch master set up to track remote branch master from origin
                        

Hint: always do a pull before you push!

Git: Conflicts

  • Git will try to handle people modifying the same file
  • Git will show a conflict if people modify the same line of the same file
  • To fix: edit the file to the "correct" version and recommit

Git

Overview (again):

Git Hosts

Make sure you use a private repository!

Project Management

  • Milestones/Kanban
  • Burndown Charts/Timesheets
  • SourceKettle/Trello

SourceKettle

SourceKettle

Milestones and Kanbans

SourceKettle

Milestones and Kanbans

SourceKettle

Burndown

SourceKettle

Timesheets

SourceKettle

Timesheets

Trello

Trello

Milestones and Kanbans

Trello

Milestones and Kanbans

Trello

Burndown

http://scrumfortrello.com/

Trello

Burndown

https://www.burndownfortrello.com/Note: Can't edit with a free account

Summary

  • Overview of version control and why you should use it
  • Brief introduction to setting up a git repo
  • Milestones, kanbans, burndowns and timesheets
  • Slides available at: http://tomblount.co.uk/version-control

Git Hosts

Make sure you use a private repository!

Other Tutorials

Questions?

Version Control And Project Management Tom Blount Sildes available at: http://tomblount.co.uk/version-control