Git Study Cards

Enhance Your Understanding with Git Programming Concept Cards for quick learning



Git

A distributed version control system used for tracking changes in source code during software development.

Repository

A storage location where Git keeps all the files and history of a project.

Commit

A snapshot of changes made to a repository at a specific point in time.

Branch

A separate line of development that allows you to work on different features or bug fixes without affecting the main codebase.

Merge

The process of combining changes from one branch into another, typically used to integrate feature branches back into the main branch.

Remote

A version of a repository that is hosted on a server, allowing multiple developers to collaborate on the same project.

Clone

The process of creating a local copy of a remote repository.

Pull

The process of fetching changes from a remote repository and merging them into the current branch.

Push

The process of sending local commits to a remote repository, updating the remote branch with your changes.

Fork

A copy of a repository that allows you to freely experiment with changes without affecting the original project.

Pull Request

A way to propose changes to a repository by submitting a request for the owner to review and merge your changes.

Stash

A temporary storage area for changes that are not ready to be committed, allowing you to switch branches without losing your work.

Rebase

The process of moving or combining a sequence of commits to a new base commit, often used to keep your branch up to date with the latest changes from the main branch.

Cherry-pick

The process of selecting and applying specific commits from one branch to another, allowing you to pick and choose changes.

Tag

A way to mark a specific commit as important or significant, often used to indicate release versions or milestones.

Reset

The process of undoing changes by moving the current branch to a different commit, discarding any commits in between.

Revert

The process of creating a new commit that undoes the changes made in a previous commit, preserving the commit history.

Gitignore

A file that specifies intentionally untracked files and directories that Git should ignore.

Git Workflow

A set of guidelines and best practices for using Git in a collaborative development environment.

Git Branching Model

A strategy for managing branches and releases in a Git repository, such as the popular Gitflow model.

Git Hooks

Custom scripts that Git can run before or after certain actions, allowing you to automate tasks or enforce rules.

Git Bisect

A command that helps you find the commit that introduced a bug by performing a binary search through the commit history.

Git Submodules

A way to include one Git repository as a subdirectory of another Git repository, allowing you to manage dependencies.

Git Worktree

A feature that allows you to have multiple working trees associated with a single repository, enabling you to work on different branches simultaneously.

Git LFS

Git Large File Storage, an extension that allows you to manage large files in a Git repository more efficiently.

Git GUI

A graphical user interface for Git, providing a visual representation of the repository and its history.

Git Alias

A custom shortcut or abbreviation for Git commands, making it easier to type and remember complex commands.

Git Reflog

A log of all the reference updates in a Git repository, allowing you to recover lost commits or branches.

Git Cherry

A command that shows the changes made in one branch but not in another, helping you identify cherry-pick candidates.

Git Archive

A command that creates a tar or zip archive of the contents of a Git repository, useful for creating release packages.

Git Bisect Start

A command that starts the binary search process for finding a bug using git bisect.

Git Clean

A command that removes untracked files from the working directory, helping you keep your repository clean.

Git Diff

A command that shows the differences between commits, branches, or files, helping you understand changes made to the codebase.

Git Log

A command that shows the commit history of a repository, providing information about who made the changes and when.

Git Merge Tool

A graphical tool that helps you resolve merge conflicts by providing a visual interface for comparing and merging conflicting changes.

Git Rebase Interactive

A command that allows you to interactively modify and rearrange commits during the rebase process, giving you more control over the commit history.

Git Remote Add

A command that adds a remote repository to your local repository, allowing you to fetch and push changes to the remote.

Git Reset Hard

A command that discards all changes and moves the current branch to a specific commit, resetting the repository to that state.

Git Show

A command that shows the details of a specific commit, including the changes made and the commit message.

Git Status

A command that shows the current state of the repository, including the modified files, untracked files, and the current branch.

Git Tag -a

A command that creates an annotated tag, allowing you to add a message and additional information to the tag.

Git Checkout

A command that switches branches or restores files from a specific commit, allowing you to navigate the repository's history.

Git Fetch

A command that downloads changes from a remote repository, updating your local repository's references but not merging the changes.

Git Push -f

A command that forcefully pushes your local commits to a remote repository, overwriting any conflicting changes.

Git Pull --rebase

A command that fetches changes from a remote repository and rebases your local commits on top of the updated branch, keeping a linear commit history.

Git Diff --cached

A command that shows the differences between the staged changes and the last commit, helping you review your changes before committing.

Git Merge --no-ff

A command that merges a branch into the current branch, creating a new merge commit even if the merge is a fast-forward.

Git Revert -n

A command that undoes the changes made in a previous commit without creating a new commit, allowing you to make additional changes before committing.

Git Stash Apply

A command that applies the changes stored in the stash to the current branch, allowing you to continue working on the changes.

Git Bisect Good

A command that marks a specific commit as good during the binary search process, helping you narrow down the range of possible bug introductions.

Git Submodule Add

A command that adds a Git repository as a submodule to your project, allowing you to manage it as a separate entity.

Git Worktree Add

A command that adds a new working tree associated with a different branch to your repository, enabling you to work on multiple branches simultaneously.

Git LFS Track

A command that specifies which files should be managed by Git LFS, allowing you to version large files more efficiently.

Git GUI Commit

A graphical interface for creating commits in Git, providing a visual representation of the changes and allowing you to add commit messages.

Git Alias Config

A command that allows you to configure custom aliases for Git commands, making it easier to use and remember your preferred shortcuts.

Git Reflog Show

A command that shows the detailed history of reference updates in a Git repository, including the commit hash, the action performed, and the previous state.

Git Cherry -v

A command that shows the changes made in one branch but not in another, including a verbose output with additional information about the commits.

Git Archive --format

A command that creates an archive of the repository in the specified format, such as tar or zip, allowing you to distribute the codebase.