Download presentation
Presentation is loading. Please wait.
Published byMelvyn Dalton Modified over 8 years ago
1
GitHub A web-based Git repository hosting service
2
Vocabulary of RCS Baseline: an approved revision from which modifications can be made Branch: a set of files that are forked (branched) at a point in time so that from the time forward two copies exist that change at different speed. Trunk: unique line of development that is not a branch; baseline, mainline. Head: most recent commit (either to the trunk or branch). Tag: an important snapshot in time consistent across multiple files (v1.0) Checkout: the creation of a local working copy from a repository Commit: write or merge modifications in a working copy to the repository Export: similar to checkout, modulo meta-data. Used before publishing Change (diff): specific modifications to a file under revision control Import, label, mainline, merge, promote, resolve, working copy, update
3
GitHub A web-based Git repository hosting service GitHub implements all functions of Git, and: – Has desktop and mobile integration – Has various access control features – Has various collaboration features (wikis, task management, bug tracking, and feature requests) – More on Git’s world in the next 3 slides. Skip? GitHub has both paid (private) plans and free (public) accounts; host open-source projects – Educational and discounted plans (for researchers)
4
Git(Hub) A command line revision control system – User-centric, and not repository centric. – Distributed; P2P: unlike in client-server RCS, each peer in DRCS has a full-fledged repository. – Emphasize speed for log view, commits and reverts; no communication with a central server or peers except for fetch or push (see next) That provides more features of integrity. Enables non-linear workflows.
5
Git(Hub): How It Works
6
Git(Hub) Commands Setup and Config: config, help Getting and Creating Projects: init, clone Basic Snapshotting: add, status, diff, commit, reset, rm, mv. Branching and Merging: branch, checkout, merge, mergetool, log, stash, tag Sharing and Updating Projects: fetch, pull, push, remote, submodule Inspection and Comparison: show, log, diff, shortlog, describe. Debugging: bisect, blame, grep Patching: apply, cherry-pick, diff, rebase, revert Email: am, apply, format-patch, send-email, request-pull External Systems: svn, fast-import Administration: clean, gc, fsck, reflog, filter-branch, instaweb, archive Server Admin: daemon, update- server-info Plumbing Commands: cat-file, commit-tree, count-objects, diff- index, for-each-ref, hash-object, ls-files, etc.
7
Advantages and Disadvantages Advantages Fast Decentralized; if you need it + for granular changes Excellent branching support Excellent merge support Efficient (less space needed) Access control-rich – Pull-request, merge approve Disadvantages (mostly C-L) Confusing at first “not easy” to learn (vs svn) No version numbers – Use labels, tags, etc Some commands are cryptic Error messages are user- unfriendly.
8
GitHub Demo Web Interface Desktop (Mac/Windows) Application
9
Links Main: https://github.com/https://github.com/ For Mac users: https://mac.github.com/https://mac.github.com/ For windows users: https://windows.github.com/ https://windows.github.com/ Education: https://education.github.com/https://education.github.com/ – Restricted to students only. All others have to pay (discounts are available for researchers, faculty,..)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.