Photos placed in horizontal position with even amount of white space between photos and header Intermediate Git Dr. Roscoe A. Bartlett Sandia National Laboratories Sandia National Laboratories is a multimission laboratory managed and operated by National Technology and Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International, Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.
Overview § Learn git as a data-structure and set of core algorithms to query and manipulate that data-structure. § The git data-structure IS the best conceptual model for git. § This data-structure can be seen in local git repo using: § git log --oneline --graph <ref> § gitk & § Adopting/adapting workflows is easier once you have a basic understanding of the git data-structure and algorithms. § Write personal cheat-sheet and memorize just the basic git commands for your adopted workflows (and Google the rest). § Each project should document commands for adopted workflows (e.g. PETSc and Trilinos). 2
Material Presented § IDEAS Project What-is and How-To Documents (https://ideas- productivity.org/resources/howtos/) § “What is Version Control?” (just mention) § “How to Do Version Control with Git in Your CSE Project” (skim) § Git Tutorial and Reference Collection: § Critical Beginner Git Usage Tips (skim) § Visual Git Reference (in depth) § Visualizing Git Concepts with D3 (git revert, fetch, pull, push, tag) § The Git Object Model (skim) Goal: Present some basics and gain some comfort & familiarity with these sites so that you can go back and complete the learning of the basic git data-structures and core algorithms. 3
The Distributed Git Data-Structure bob Local branch NOT releases topicB replicated in other repos release-2.4 release-2.5 master jc56m p45tg 1800b tracking a47c3 b325c 7ct45 … a47c3 b325c … origin/master remote ‘origin’ remote ‘releases’ remote ‘origin’ origin local Local branch master Reference to refs tracking tracking current branch maint remote branch a47c3 b325c 7ct45 … HEAD releases/ 1800b release-2.4 master Commits tracking • Parts of git graph data-structure are a47c3 b325c c10b9 … replicated across many repo clones. Remote Parent • New parts of graph are added in branch 169a6 origin/master links reference different repos independently. Local branch NOT • Parts of the graph only come together topicA Remote branch tracking remote branch reference when explicitly communicated. • All parts of the distributed replicated Legend: objects are not in ‘local’ repo xxxxx graph may never come together! 4
Summary § Learn git as a data-structure and set of core algorithms to query and manipulate that data-structure. § The git data-structure IS the best conceptual model for git. § This data-structure can be seen in local git repo using: § git log --oneline --graph <ref> § gitk & § Adopting/adapting workflows is easier once you have a basic understanding of the git data-structure and algorithms. § Write personal cheat-sheet and memorize just the basic git commands for your adopted workflows (and Google the rest). § Each project should document commands for adopted workflows (e.g. PETSc and Trilinos). 5
Recommend
More recommend