Presentation is loading. Please wait.

Presentation is loading. Please wait.

GitHub A web-based Git repository hosting service.

Similar presentations


Presentation on theme: "GitHub A web-based Git repository hosting service."— Presentation transcript:

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,..)

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47


Download ppt "GitHub A web-based Git repository hosting service."

Similar presentations


Ads by Google