This content originally appeared on DEV Community and was authored by Joรฃo Victor
Git is essential for software development, allowing version control, effective collaboration among developers, and secure management of code changes. It facilitates tracking changes, reverting to previous versions, and integrating work from different team members, making the development process more organized and efficient. For more insights and to explore my other repositories or access this post in Portuguese, be sure to visit my GitHub profile at my GitHub.
๐ ๏ธ Commands
โ๏ธ Configuration and Setup
๐น git config
Configures the user name, email, editor, and more.
Exemplo: `git config --global user.name "Your Name"` sets the user name for all repositories.
๐น git init
Initializes a new local Git repository.
Exemplo: `git init` creates a new Git repository in the current directory.
๐๏ธ Stage & Snapshot
๐น git status
Shows the status of files (modified, untracked, etc.).
Exemplo: `git status` to see the current state of files.
๐น git add
Adds files to the stage for committing.
Exemplo: `git add .` adds all modified files to the stage.
๐น git commit
Commits the files from the stage and saves a snapshot of the project.
Exemplo: `git commit -m "message"` commits with a message.
๐ณ Branch & Merge
๐น git branch
Lists, creates, or deletes branches.
Exemplo: `git branch new-branch` creates a new branch.
๐น git checkout
Switches to another branch or restores files.
Exemplo: `git checkout another-branch` switches to the specified branch.
๐น git merge
Merges histories of two branches.
Exemplo: `git merge another-branch` merges another-branch into the current branch.
๐ Inspection & Comparison
๐น git log
Shows the commit history.
Exemplo: `git log` to see the commit history.
๐น git diff
Shows differences between commits, branches, etc.
Exemplo: `git diff` shows unstaged differences.
๐ค Share & Update
๐น git remote
Manages a set of tracked repositories.
Exemplo: `git remote add origin URL` adds a new remote.
๐น git fetch
Downloads objects and refs from another repository.
Exemplo: `git fetch origin` updates the remote origin information.
๐น git push
Updates the remote repository with local commits.
Exemplo: `git push origin main` sends local commits to the main branch in the remote origin.
๐น git pull
Updates the local repository with the latest version from the remote.
Exemplo: `git pull origin main` updates the local with the remote.
๐ซ Undo
๐น git revert
Reverts changes from a specific commit.
Exemplo: `git revert <commit-hash>` reverts the changes from the specified commit.
๐น git reset
Resets the HEAD to a previous state.
Exemplo: `git reset --hard HEAD~1` undoes the last commit and changes.
๐น git rm
Removes files from the index (stage) and working directory.
Exemplo: `git rm file.txt` removes the file from the working directory and the stage.
๐น git restore
Restores files from the stage or commit history.
Exemplo: `git restore file.txt` undoes changes in the file.
๐น git clean
Removes untracked files by Git.
Exemplo: `git clean -fd` removes untracked directories and files.
๐ Working with Remotes
๐น git clone
Copies an existing Git repository.
Exemplo: `git clone <url>` clones the repository locally.
๐น git push (review)
Sends changes to the remote repository.
Exemplo: `git push origin main` sends local changes to the main branch in the remote.
๐น git pull (review)
Updates your local repository with the remote repository version.
Exemplo: `git pull origin main` pulls updates from main in the origin to the local.
๐ Advanced Management
๐น git rebase
Reapplies commits on top of another base.
Exemplo: `git rebase main` reapplies the commits from the current branch on top of main.
๐น git blame
Shows who modified each line of a file.
Exemplo: `git blame file.txt` shows the line-by-line authorship.
๐น git show
Shows information about objects in Git.
Exemplo: `git show <commit-hash>` shows information about the commit.
๐น git log --graph
Displays the commit history as an ASCII graph.
Exemplo: `git log --graph` shows the structure of branches and merges.
๐น git stash
Temporarily saves local changes in a clean area.
Exemplo: `git stash push -m "message"` saves the current work with a message.
๐น git stash pop
Applies changes saved with git stash.
Exemplo: `git stash pop` applies the last stashed change.
๐น git cherry-pick
Applies a commit from another branch to the current branch.
Exemplo: `git cherry-pick <commit-hash>` applies the specified commit.
๐ท๏ธ Tags
๐น git tag
Lists, creates, or deletes tags.
Exemplo: `git tag v1.0.0` creates a tag to mark a version.
๐งฉ Git Hooks
๐น git hook
Scripts hooks triggered by important events.
Exemplo: Customize `.git/hooks/pre-commit` to run tests before each commit.
๐ Reflog
๐น git reflog
Shows a log of changes in the HEAD reference.
Exemplo: `git reflog` helps to find lost commits.
๐ Submodules
๐น git submodule
Manages another repository within a repository as a submodule.
Exemplo: `git submodule add URL` adds a new submodule.
๐ ๏ธ Debugging Tools
๐น git bisect
Uses binary search to find the commit that introduced a bug.
Exemplo: `git bisect start` to start the bisect.
๐ง Merge Tools
๐น git mergetool
Opens a graphical tool to resolve merge conflicts.
Exemplo: `git mergetool` after a merge conflict.
๐ Working with Remotes
๐น git remote show
Shows information about the remote repository.
Exemplo: `git remote show origin` shows details of the remote origin.
๐น git remote prune
Removes local references to deleted remote branches.
Exemplo: `git remote prune origin` cleans old references.
๐๏ธ Git Archive
๐น git archive
Creates an archive (like .tar or .zip) of commit trees.
Exemplo: `git archive --format zip --output /tmp/file.zip HEAD` creates a zip file of the current state.
๐ณ Git Worktree
๐น git worktree
Manages multiple worktrees linked to a repository.
Exemplo: `git worktree add ../new-directory branch` creates a new worktree.
๐ ๏ธ Other Useful Commands
๐น git ls-tree
Lists the contents of a commit tree.
Exemplo: `git ls-tree HEAD` shows the tree of the HEAD.
๐น git mv
Moves or renames a file, directory, or symlink.
Exemplo: `git mv old_file.txt new_file.txt`.
๐น git gc
Cleans unnecessary files and optimizes the local repository.
Exemplo: `git gc` to optimize the repository.
๐น git fsck
Checks the integrity of the Git filesystem.
Exemplo: `git fsck` to check for errors.
๐น git filter-branch
Rewrites branches.
Exemplo: `git filter-branch --tree-filter 'rm -f password.txt' HEAD` removes a file from the entire history.
โน๏ธ Information and Help
๐น git help
Shows help for Git commands.
Exemplo: `git help commit` shows the help for the commit command.
๐น git version
Shows the installed Git version.
Exemplo: `git version` to see the current version.
โ Git Ignore
๐น .gitignore
Specifies intentionally untracked files to ignore.
Exemplo: Add `*.log` to .gitignore to ignore log files.
๐ Git Attributes
๐น .gitattributes
Allows defining attributes for specific paths.
Exemplo: Add `*.txt linguist-detectable=true` to .gitattributes.
๐๏ธ LFS (Large File Storage) Management
๐น git lfs track
Tracks large files with Git LFS.
Exemplo: `git lfs track "*.psd"` to track Photoshop files.
๐น git lfs ls-files
Lists all files tracked by Git LFS.
Exemplo: `git lfs ls-files` to see LFS files.
๐ Performance
๐น git count-objects
Shows information about objects in the Git database.
Exemplo: `git count-objects` to see repository statistics.
๐ Networking
๐น git daemon
Allows Git to be served as a daemon for stateless protocols.
Exemplo: `git daemon --reuseaddr --base-path=/path/to/repo --export-all --verbose` to serve a repository.
๐ณ Subtree
๐น git subtree
Tool for subprojects, allows repositories within another.
Exemplo: `git subtree add --prefix=subproject subproject_repo master --squash` adds a subproject.
This content originally appeared on DEV Community and was authored by Joรฃo Victor
Joรฃo Victor | Sciencx (2024-08-19T21:51:23+00:00) ๐ก๐ Essential Git Commands: Your Go-To Cheat Sheet for Efficient Version Control. Retrieved from https://www.scien.cx/2024/08/19/%f0%9f%92%a1%f0%9f%93%96-essential-git-commands-your-go-to-cheat-sheet-for-efficient-version-control/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.