DEV Community

Cover image for πŸš€ Must-Know Git Commands for Web Developers 🌐
Ashish prajapati
Ashish prajapati

Posted on

πŸš€ Must-Know Git Commands for Web Developers 🌐

Git is an essential tool for web developers, whether you're working solo or collaborating on a team. Understanding the core commands can improve your workflow and help you manage your codebase effectively. In this article, we’ll cover some of the must-know Git commands for web developers and explain how they can be useful in everyday tasks.

1. Basic Commands πŸ› οΈ

git init 🏁

Image Idea: A simple terminal screenshot showing the output of running git init in a new project directory.

Initializes a new Git repository in your project folder. This is how you start tracking your code with Git from scratch.

git clone <repository-url> πŸ“¦

Image Idea: A visual of cloning a repository from GitHub or GitLab, with a URL being copied and a terminal cloning process.

Clones an existing repository from a remote server to your local machine. This is how you get an existing project’s code to your computer.

git status πŸ“‹

Image Idea: Screenshot of git status command showing changes in a project.

Shows the current state of your working directory and the staging area, including untracked or modified files.

git add <file> βž•

Image Idea: A before-and-after visual of git add . in action, showing untracked changes before and then staged changes after.

Stages a specific file for commit. You can also stage everything with git add ..

git commit -m "message" ✍️

Image Idea: A clean and concise commit message example shown in the terminal after running this command.

Commits the staged changes with a meaningful message, which serves as a snapshot of your project at a specific point.

git push origin <branch-name> πŸš€

Pushes your local commits to a remote repository. For example, git push origin main pushes changes to the main branch.

git pull πŸ”„

Image Idea: Side-by-side terminal screenshot showing the result of git fetch and git pull, with clear differences in handling updates.

Fetches and integrates changes from a remote repository into your current branch. It’s a combination of git fetch and git merge.

2. Branching & Merging πŸŒΏπŸ”€

git branch 🌳

Lists all local branches. Branching is key for feature development without disrupting the main codebase.

git branch <branch-name> 🌱

Creates a new branch. Branching allows you to work on new features or bug fixes in isolation.

git checkout <branch-name> 🚢

Switches to the specified branch. You can also create a new branch and switch to it directly with git checkout -b <branch-name>.

git merge <branch-name> πŸ”—

Image Idea: Diagram showing two branches being merged together visually, or a terminal example showing a successful git merge.

Merges the specified branch into your current branch. This is often used to integrate feature branches back into the main branch after development.

git branch -d <branch-name> πŸ—‘οΈ

Deletes the specified branch after it has been fully merged.

3. Viewing Changes πŸ‘€

git log πŸ“œ

Image Idea: Terminal screenshot of git log showing a list of commits with commit hashes, authors, and messages.

Displays the commit history for the current branch. Use this to view previous commits and see who made changes.

git diff 🧐

Shows the differences between your working directory and the staging area, or between commits.

git show <commit-hash> πŸ”

Shows the details of a specific commit, including the files changed and the commit message.

4. Undoing Changes 🚫

git reset <file> ↩️

Removes a file from the staging area without affecting the actual file.

git reset --hard <commit-hash> πŸ”„

Resets your working directory and index to a specific commit, discarding any changes made after that commit.

git revert <commit-hash> βͺ

Creates a new commit that reverses the changes introduced by a previous commit. This is safer than reset because it preserves history.

5. Remote Repositories 🌍

git remote -v 🌐

Lists all remotes associated with your project.

git fetch πŸ“₯

Downloads objects and refs from another repository but does not integrate them into your working files.

git remote add <name> <url> βž•πŸŒ

Adds a new remote repository. You can have multiple remotes for the same project if needed.

6. Stashing Changes 🧳

git stash πŸ“¦

Temporarily saves your uncommitted changes so you can work on something else without losing your progress.

git stash pop πŸŽ‰

Reapplies the most recently stashed changes and removes them from the stash list.

git stash list πŸ—‚οΈ

Lists all the stashes you’ve created.

7. Collaborating 🀝

git fetch origin ⬇️

Downloads the latest changes from the remote repository without affecting your working branch.

git pull origin <branch-name> πŸ”„

Fetches and merges changes from a remote repository into your current branch.

git rebase <branch-name> πŸ› οΈ

Image Idea: Diagram showing a simplified Git rebase process compared to merge (e.g., side-by-side with clear differences).

Reapplies your changes on top of another branch. This is often used to keep a clean project history when collaborating.

8. Tagging 🏷️

git tag <tag-name> πŸ”–

Creates a tag at the current commit. Tags are useful for marking specific points in your history, such as releases.

git push origin <tag-name> πŸš€πŸ·οΈ

Pushes a specific tag to the remote repository.

9. Cleaning Up 🧹

git clean -f πŸ—‘οΈ

Removes untracked files from the working directory. Use this with caution because it will delete files not tracked by Git.

git clean -fd πŸ§ΉπŸ—‚οΈ

Removes both untracked files and directories, which can help tidy up your working directory.


Final Thoughts πŸ’‘

These commands form the backbone of any developer's Git toolkit. Whether you’re working on a solo project or contributing to a team repository, mastering these commands will make managing code smoother and more efficient. By practicing these Git commands regularly, you’ll feel more confident handling different scenarios in web development.

Are there any specific commands you use frequently that didn’t make the list? Feel free to share them in the comments below! Happy coding! πŸ˜„πŸ‘¨β€πŸ’»πŸ‘©β€πŸ’»


Top comments (0)