Successfully reported this slideshow.

Git 101

0

Share

Upcoming SlideShare
第1回Git勉強会
第1回Git勉強会
Loading in …3
×
1 of 18
1 of 18

Git 101

0

Share

Introduction in Git for beginners. The presentation explains how to install git and how to work with local repositories.

Introduction in Git for beginners. The presentation explains how to install git and how to work with local repositories.

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Related Audiobooks

Free with a 14 day trial from Scribd

See all

Git 101

  1. 1. GIT 101
  2. 2. Who invented Git? QUIZ!
  3. 3. Linus Torvalds ANSWER
  4. 4. Why is it called Git? "the stupid content tracker” Linus Torvalds has quipped about the name "git", which is British English slang for a stupid or unpleasant person: "I'm an egotistical bastard, and I name all my projects after myself. First Linux, now git." (Note that Torvalds did not in fact name Linux.)
  5. 5. Central vs Distributed VCS CENTRAL VCS DISTRIBUTED VCS Each can act as a serverthe dev team only interacts with the main server
  6. 6. Distributed VCS Benefits You can start a repository at any time on your local computer Commit history is stored locally Redundancy - each working copy effectively functions as a remote backup
  7. 7. How Git stores data? • most other systems store information as a list of file-based changes • Git thinks of its data more like a set of snapshots of a miniature filesystem • Every time you commit, or save the state of your project in Git • Git thinks about its data more like a stream of snapshots. • Git tracks files not folders
  8. 8. The Three States states of files committed stored in local repo modified changed but not committed staged marked to go into next commit
  9. 9. Three sections of Git project
  10. 10. Hands-on exercise 1. Install Git on Windows ◦ http://git-scm.com ◦ Download and run installer 2. Install Git on Mac ◦ Type in terminal: git version 3. Configure Git ◦ git config –-global user.name “Your Name” ◦ git config --global user.email “your.email@sephora.com” 4. Create local repository ◦ git init
  11. 11. The Basics → Open terminal → Create a location for the lab mkdir projects cd projects → Create a repository git init git-101 ls –al cd git-101 cd .git
  12. 12. Commit git status  Create a file README.md touch README.md git add README.md git commit –m “My first commit” git log git show  Modify README.md git status git commit –am “My second commit” git log
  13. 13. Backing out changes  Modify README.md git status git add .  How to unstage changes? git reset HEAD README.md git status  How to revert changes entirely? git checkout -- README.md
  14. 14. Rename and remove a file Create a file example.txt git status git add example.txt git commit -m "adding example file" git mv example.txt demo.txt ls git status git commit -m "renaming example” git rm demo.txt git commit -m ”removing demo”
  15. 15. GIT States with Remote
  16. 16. How to change Git state
  17. 17. Summary git init <repo-name> git status git add <file1-name> <file2-name> git commit -m "<Messgae>” git show git log git mv <fil1> <file2> git rm <file1>
  18. 18. Next Week Work with remotes Create Branches Create Pull Request

Editor's Notes

  • The Linux kernel is an open source software project of fairly large scope.
    For most of the lifetime of the Linux kernel maintenance (1991–2002), changes to the software were passed around as patches and archived files.
    n 2002, the Linux kernel project began using a proprietary DVCS called BitKeeper.

    In 2005 the Linux kernel community faced a daunting challenge: They could no longer use their revision control system BitKeeper and no other Source Control Management (SCMs) met their needs for a distributed system. Linus Torvalds, the creator of Linux, took the challenge into his own hands and disappeared over the weekend to emerge the following week with Git. Today Git is used for thousands of projects and has ushered in a new level of social coding among programmers.
    https://www.linux.com/blog/10-years-git-interview-git-creator-linus-torvalds
  • Central:
    The limitations here are that you always need to have the latest code on your local repository, and to see the history of changes you will need to ask the server for that information.
    You also always need to be able to access the remote repository to commit

    Distributed:
    Instead of just having one central repository that you send changes to, every committer has their own repository that has the entire commit history of the project. You don't need to connect to a remote repository, the change is just recorded on your local repository. You can still push to a centralised repository but you don't need to.

    One big benefit of this is that you can start a repository at any time on your local computer. 
    Another big benefit (perhaps less so with cloud computing now) is redundancy. If one copy of the repository is lost for whatever reason, any of the other repositories will contain the complete history so you could only potentially lose any work since your last push.
  • https://git-scm.com/book/en/v2/Getting-Started-Git-Basics


    This is an important distinction between Git and nearly all other VCSs. It makes Git reconsider almost every aspect of version control that most other systems copied from the previous generation. This makes Git more like a mini filesystem with some incredibly powerful tools built on top of it, rather than simply a VCS.
  • Committed means that the data is safely stored in your local database.
    Modified means that you have changed the file but have not committed it to your database yet.
    Staged means that you have marked a modified file in its current version to go into your next commit snapshot.


  • The Git directory is where Git stores the metadata and object database for your project.  This is the most important part of Git, and it is what is copied when you clone a repository from another computer.

    The working tree is a single checkout of one version of the project. These files are pulled out of the compressed database in the Git directory and placed on disk for you to use or modify.

    The staging area is a file, generally contained in your Git directory, that stores information about what will go into your next commit. It’s sometimes referred to as the “index”, but it’s also common to refer to it as the staging area.
  •  git config --global core.editor "sublime”
  • ×