Published on

Git for Distributed Software Development

Table of Contents

https://learning.edx.org/course/course-v1:LinuxFoundationX+LFD109x+1T2022/home


Concepts

  • Blobs -> An opaque construct that contains a version of a file's content. It does not contain the file's name or any other metadata

  • Trees -> Record blob identifiers, pathnames, file metadata, etc, for files in a directory

  • Commits -> Every time a change is made to the repository, a commit object is created containing the metadata the fully describes the change

  • Tag -> These assign human-friendly names to those horrendously long hexadecimal numbers

Content

  • Faster as it compares the 160-bit identifiers, rather than actually comparing the blobs

  • A commit is a local process, saving the current state of your working project files in your local repository

  • Publishing means sharing your changes

Forking

  • When someone taks the entire project and goes off in another direction (also branching)

Bisect

  • Can use git bisect bad to jump back to see if the bad code is present

  • git bisect good -> continues until you find the bad code

  • git bisect reset -> reset to current working state

Merging

  • Two changes, allows you to combine, or override changes into one