Presentation is loading. Please wait.

Presentation is loading. Please wait.

Jake Ginnivan Git for TFS Version Control developers DEV32 4.

Similar presentations


Presentation on theme: "Jake Ginnivan Git for TFS Version Control developers DEV32 4."— Presentation transcript:

1

2 Jake Ginnivan Git for TFS Version Control developers DEV32 4

3

4

5

6

7 VCS Team @ MS work here and here

8

9

10

11

12 https://github.com/blog/1359-the-octoverse-in-2012

13

14 Team Foundation Server/Service Project 2Project 1 3 rd Party Local Repo Other Remote Git Repo

15

16 [Changeset 2] [Changeset 3] [Changeset 2] Changeset 3 Changeset 1 Changeset 2 Get latest (Changeset 3) [Changeset 3]

17 Changeset 3 Changeset 1 Changeset 2 75c8b5 3a6f61 6a286b How are commit IDs generated?  Can’t be monotonically increasing without a server to arbitrate  A cryptographic hash (SHA1) of the contents of the commit

18 75c8b5 3a6f61 6a286b 75c8b5 3a6f61 6a286b 8c62e8 087f8d 8c62e8 087f8d *Clone* 75c8b5 3a6f61 6a286b 8c62e8 087f8d 10d3f74 *Fetch* 10d3f74 *Push*

19 Git commits are a snapshot of the content TFVC change sets are deltas of the changes to the content

20 Changeset 2 -Some description +A better description @@ 3 3a6f61 # My readme Some description b3af9c # My readme A better description Changeset 2 # My readme Some description @@ 1

21

22

23 Renames Git does not track renames Commits are a snapshot of the entire repository No additional metadata about deltas between commits Git guesses renames Compare deleted files to added files Similar files are deemed “renames” Heuristic approach to renames is more accurate than relying on user input.

24 75c8b5 3a6f61 6a286b 8c62e8 087f8d 10d3f74 master feature/foo $Ignite Main C:\Workspaces\Ignite Branches FeatureFoo C:\Workspaces\Ignite\Main C:\Workspaces\Ignite\Branches\FeatureFoo C:\Code\IgniteGitRepo HEAD

25

26

27

28 master origin/master

29 master origin/master

30 master origin/master

31 master origin/master

32 > git pull master

33

34 Pull requests

35 master origin/master feature/foo

36

37 master origin/master feature/foo

38 master origin/master feature/foo

39 master origin/master feature/foo

40

41 master origin/master

42 > git pull master --rebase

43

44 master Merge master Rebase

45 master > git reset HEAD~4 --hard

46 > git reflog aef1ebc HEAD@{0}: reset: moving to HEAD~4 4efbd1e HEAD@{1}: commit: commit7 a665932 HEAD@{2}: commit: commit6 ba16220 HEAD@{3}: commit: commit5 004e6a3 HEAD@{4}: commit: commit4 aef1ebc HEAD@{5}: commit: commit3 4c86bab HEAD@{6}: commit: commit2 846605b HEAD@{7}: commit: commit1 f57c13d HEAD@{8}: commit (initial): initial commit

47 ShelfsetStash LabelTag Gated Checkin File Lock Checkin policy Bisect Interactive rebase

48

49

50

51 git-scm.com/download/win or choco install git.install git config --global user.name "Jake Ginnivan" git config --global user.email "jake@ginnivan.net"

52

53

54

55 Continue your Ignite learning path Visit Microsoft Virtual Academy for free online training visit https://www.microsoftvirtualacademy.com Visit Channel 9 to access a wide range of Microsoft training and event recordings https://channel9.msdn.com/ Head to the TechNet Eval Centre to download trials of the latest Microsoft products http://Microsoft.com/en-us/evalcenter/

56


Download ppt "Jake Ginnivan Git for TFS Version Control developers DEV32 4."

Similar presentations


Ads by Google