Go offline with the Player FM app!
Git from the Bottom Up – The Index
Manage episode 342203509 series 27319
This episode, we learn more about Git’s Index and compare it to other version control systems while Joe is throwing shade, Michael learns a new command, and Allen makes it gross.
The full show notes for this episode are available at https://www.codingblocks.net/episode194.
News
- Want to help out the show? Leave us a review!
- Ludum Dare is a bi-annual game jam that’s been running for over 20 years now. Jam #51 is coming up September 30th to October 3rd. (ldjam.com)
- We previously talked about Ludum Dare in episode 146.
- The index refers to the set of blobs and trees created when running a git add, when you “stage” files.
- These trees and blobs are not a part of the repository yet!
- If you were to unstage the changes using a reset, you’d have an orphaned blob(s) that would eventually get cleaned up.
- The index is a staging area for your next commit.
- The staging area allows you to build up your next commit in stages.
- You can almost ignore the index by doing a git commit -a (but shouldn’t).
- In Subversion, the next set of changes is always determined by looking at the differences in the current working tree.
- In Git, the next set of changes is determined by looking at your index and comparing that to the latest HEAD.
- git add allows you to make additional changes before executing your commit with things like git add --patch and git add --interactive parameters.
- For Emacs fans out there, the author mentioned gitsum. (GitHub)
- The author mentions “Quilt!”, is it this? (man7.org)
- The primary difference between Git and Quilt is Git only allows one patch to be constructed at a time.
- Situation the author describes is: What if I had multiple changes I wanted to test independently with each other?
- There isn’t anything built into Git to allow you to try out parallel sets of changes on the fly.
- Multiple branches would allow you to try out different combinations and the index allows you to stage your changes in a series of commits, but you can’t do both at the same time.
- To do this you’d need an index that allows for more than a single commit at a time.
- Stacked Git is a tool that lets you prepare more than one index at a time. (stacked-git.github.io)
- The author gives an example of using regular Git to do two commits by interactively selecting a patch.
- Then, the author gives the example of how you’d have to go about disabling one set of changes to test the other set of changes. It’s not great … swapping between branches, cherry-picking changes, etc.
- If you find yourself in this situation, definitely take a look at Stacked Git. Using Stacked Git, you are basically pushing and popping commits on a stack.
- Git from the Bottom Up by John Wiegley (jwiegley.github.io)
- The Index: Meet the middle man (jwiegley.github.io)
- Taking the Index Further (jwiegley.github.io)
- git add –patch and –interactive by Markus Wein (nuclearsquid.com)
- We previously discussed the --patch option in episode 22.
- gitsum Emacs Plugin (GitHub)
- Darcs is a free, open-source, cross platform version control system with a focus on changes rather than snapshots. (darcs.net)
- Stacked Git (stacked-git.github.io)
- Diffusion Bee is GUI for running Stable Diffusion on M1 macs. It’s got a one-click installer that you can get up and generating weird computer art in minutes … as long as you’re on a recent version of macOS and M1 hardware. (GitHub)
- No M1 Mac? You can install the various packages you need to do it yourself, some assembly required! (assembly.ai)
- Git Tower is a fresh take on Git UI that lets you drag-n-drop branches, undo changes, and manage conflicts. Give it a shot! (git-tower.com)
- Git Kraken is the Gold Standard when it comes to Git UIs. It’s a rich, fully featured environment for managing all of your branches and changes. They are also the people behind the popular VS Code Extension GitLens (gitkraken.com)
- GitHub CLI is an easy to use command line interface for interacting with GitHub. Reason 532 to love it … draft PR creation via gh pr create --draft ! (cli.github.com)
240 episodes
Manage episode 342203509 series 27319
This episode, we learn more about Git’s Index and compare it to other version control systems while Joe is throwing shade, Michael learns a new command, and Allen makes it gross.
The full show notes for this episode are available at https://www.codingblocks.net/episode194.
News
- Want to help out the show? Leave us a review!
- Ludum Dare is a bi-annual game jam that’s been running for over 20 years now. Jam #51 is coming up September 30th to October 3rd. (ldjam.com)
- We previously talked about Ludum Dare in episode 146.
- The index refers to the set of blobs and trees created when running a git add, when you “stage” files.
- These trees and blobs are not a part of the repository yet!
- If you were to unstage the changes using a reset, you’d have an orphaned blob(s) that would eventually get cleaned up.
- The index is a staging area for your next commit.
- The staging area allows you to build up your next commit in stages.
- You can almost ignore the index by doing a git commit -a (but shouldn’t).
- In Subversion, the next set of changes is always determined by looking at the differences in the current working tree.
- In Git, the next set of changes is determined by looking at your index and comparing that to the latest HEAD.
- git add allows you to make additional changes before executing your commit with things like git add --patch and git add --interactive parameters.
- For Emacs fans out there, the author mentioned gitsum. (GitHub)
- The author mentions “Quilt!”, is it this? (man7.org)
- The primary difference between Git and Quilt is Git only allows one patch to be constructed at a time.
- Situation the author describes is: What if I had multiple changes I wanted to test independently with each other?
- There isn’t anything built into Git to allow you to try out parallel sets of changes on the fly.
- Multiple branches would allow you to try out different combinations and the index allows you to stage your changes in a series of commits, but you can’t do both at the same time.
- To do this you’d need an index that allows for more than a single commit at a time.
- Stacked Git is a tool that lets you prepare more than one index at a time. (stacked-git.github.io)
- The author gives an example of using regular Git to do two commits by interactively selecting a patch.
- Then, the author gives the example of how you’d have to go about disabling one set of changes to test the other set of changes. It’s not great … swapping between branches, cherry-picking changes, etc.
- If you find yourself in this situation, definitely take a look at Stacked Git. Using Stacked Git, you are basically pushing and popping commits on a stack.
- Git from the Bottom Up by John Wiegley (jwiegley.github.io)
- The Index: Meet the middle man (jwiegley.github.io)
- Taking the Index Further (jwiegley.github.io)
- git add –patch and –interactive by Markus Wein (nuclearsquid.com)
- We previously discussed the --patch option in episode 22.
- gitsum Emacs Plugin (GitHub)
- Darcs is a free, open-source, cross platform version control system with a focus on changes rather than snapshots. (darcs.net)
- Stacked Git (stacked-git.github.io)
- Diffusion Bee is GUI for running Stable Diffusion on M1 macs. It’s got a one-click installer that you can get up and generating weird computer art in minutes … as long as you’re on a recent version of macOS and M1 hardware. (GitHub)
- No M1 Mac? You can install the various packages you need to do it yourself, some assembly required! (assembly.ai)
- Git Tower is a fresh take on Git UI that lets you drag-n-drop branches, undo changes, and manage conflicts. Give it a shot! (git-tower.com)
- Git Kraken is the Gold Standard when it comes to Git UIs. It’s a rich, fully featured environment for managing all of your branches and changes. They are also the people behind the popular VS Code Extension GitLens (gitkraken.com)
- GitHub CLI is an easy to use command line interface for interacting with GitHub. Reason 532 to love it … draft PR creation via gh pr create --draft ! (cli.github.com)
240 episodes
All episodes
×Welcome to Player FM!
Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.