Git - PowerPoint PPT Presentation

About This Presentation
Title:

Git

Description:

Powerpoint credited to University of PA ... Mercurial, and Git CVS and Subversion use a central repository; users check out files, work on them, ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 15
Provided by: DaveM226
Learn more at: https://home.adelphi.edu
Category:
Tags: git | mercurial

less

Transcript and Presenter's Notes

Title: Git


1
Git
  • A distributed version control system
  • Powerpoint credited to University of PA
  • And modified by Pepper

2
Version control systems
  • Version control (or revision control, or source
    control) is all about managing multiple versions
    of documents, programs, web sites, etc.
  • Almost all real projects use some kind of
    version control
  • Essential for team projects, but also very useful
    for individual projects
  • Some well-known version control systems are CVS,
    Subversion, Mercurial, and Git
  • CVS and Subversion use a central repository
    users check out files, work on them, and check
    them in
  • Mercurial and Git treat all repositories as equal
  • Distributed systems like Mercurial and Git are
    newer and are gradually replacing centralized
    systems like CVS and Subversion

3
Why version control?
  • For working by yourself
  • Gives you a time machine for going back to
    earlier versions
  • Gives you great support for different versions
    (standalone, web app, etc.) of the same basic
    project
  • For working with others
  • Greatly simplifies concurrent work, merging
    changes
  • For getting an internship or job
  • Any company with a clue uses some kind of version
    control
  • Companies without a clue are bad places to work

4
Download and install Git
  • There are online materials that are better than
    any that I could provide
  • Standard one http//git-scm.com/downloads
  • Heres one from StackExchangehttp//stackoverflo
    w.com/questions/315911/git-for-beginners-the-defin
    itive-practical-guide323764
  • Install Git on your machine from
    http//git-scm.com/downloads
  • Accept context menu items
  • Git access
  • Right click from windows explorer
  • gitBash to enter commands

5
Introduce yourself to Git
  • Start git / gitBash
  • Enter these lines (with appropriate changes)
  • git config --global user.name "John Smith"
  • git config --global user.email jsmith_at_seas.upenn.e
    du
  • You only need to do this once
  • If you want to use a different name/email address
    for a particular project, you can change it for
    just that project
  • cd to the project directory
  • Use the above commands, but leave out the --global

6
Choose an editor
  • When you commit, git will require you to type
    in a commit message
  • For longer commit messages, you will use an
    editor
  • The default editor is probably vim
  • To change the default editor
  • git config --global core.editor /usr/bin/vim
  • You may also want to turn on colors
  • git config --global color.ui auto
  • See your options
  • git config -l

7
Your repositories
  • We have created 6 class repositories on panther,
    and here are their paths.
  • ssh//user_name_at_panther.adelphi.edu/opt/git/csc271
    books.git
  • ssh//user_name_at_panther.adelphi.edu/opt/git/csc271
    tv.git
  • ssh//user_name_at_panther.adelphi.edu/opt/git/csc271
    store.git
  • ssh//user_name_at_panther.adelphi.edu/opt/git/csc271
    movies1.git
  • ssh//user_name_at_panther.adelphi.edu/opt/git/csc271
    games1.git
  • ssh//user_name_at_panther.adelphi.edu/opt/git/csc271
    movies2.git
  • Prior class csc440Spring14r1
  • Use instructions to follow

8
Using your repositories on panther
  • Get the files from your repository before
    starting
  • Make a local respository as a clone of master
  • git clone /opt/git/csc271books
  • See all the contents of the folder
  • ls -a to see the .git folder.
  • Make changes
  • See what changed
  • git diff
  • Stage changes
  • git add all (or particular files)
  • git diff cached
  • Still only in your repository

9
Using your repository
  • Put changes back up into repository
  • Commit your staged changes in your repository
  • git commit -m "the reason for the change"
  • Update the respository
  • git push origin
  • See what is on the repository
  • git remote
  • Get what is on repository
  • git pull
  • If it says to resolve manually, just vi that file
    and see the head which is yours

10
Typical workflow
  • git pull remote_repository
  • Get changes from a remote repository and merge
    them into your own repository
  • git status
  • See what Git thinks is going on
  • Use this frequently!
  • Work on your files
  • git add -all (or just changes)
  • git commit m What I did
  • git push

11
Helpful gitBash commands
  • Show staged differences git diff -- cached
  • Show status git status
  • Show branches git branch
  • See history git log
  • Checkout a branch git checkout branch
  • Fetch so you can look but maybe not take git
    fetch
  • Pull will fetch and merge with what you have git
    merge

12
Git log commands
  • git log
  • --prettyoneline --max-count2 git log
  • --prettyoneline --since'5 minutes ago' git log
  • --prettyoneline --until'5 minutes ago' git log
  • --prettyoneline --authorltyour namegt git log
  • --prettyoneline all

13
Git log pretty
  • git log --prettyformat"h ad sd an"
    --graph --dateshort
  • --pretty"..." defines the output format.
  • h is the abbreviated hash of the commit
  • d commit decorations (e.g. branch heads or tags)
  • ad is the commit date
  • s is the comment
  • an is the name of the author
  • --graph tells git to display the commit tree in
    the form of an ASCII graph layout
  • --dateshort keeps the date format short and nice

14
Good aliases
  • alias gs'git status '
  • alias ga'git add '
  • alias gb'git branch '
  • alias gc'git commit'
  • alias gd'git diff'
  • alias go'git checkout '
  • alias gk'gitk --all'
  • alias gx'gitx --all'
  • alias got'git '
  • alias get'git '
Write a Comment
User Comments (0)
About PowerShow.com