Connect with us

Git

Getting Started with Git in the Terminal: A Step-by-Step Guide

Spread the love

Git is an essential tool for version control, enabling developers to track changes, manage collaboration, and maintain project history. While there are graphical interfaces for Git, learning to use Git directly in the terminal can unlock faster workflows and greater control over your versioning process. This blog post will walk you through the fundamentals of using Git in the terminal, covering everything from installation and configuration to key commands for working with repositories.


Why Use Git in the Terminal?

Using Git in the terminal provides several advantages:

  • Speed and Efficiency: Terminal commands can often perform tasks more quickly than GUI clicks.
  • Fine-grained Control: The terminal provides access to a broader set of Git features.
  • Consistency: Terminal commands are consistent across different operating systems.
  • Automation: Scripts and commands make it easy to automate complex workflows.

With Git in the terminal, you gain greater flexibility and a deeper understanding of how version control works.


Prerequisites

To follow this guide, make sure you have:

  1. Git Installed: If you’re not sure, you can check by running git --version in your terminal.
  2. Terminal Access: Windows users may want to install Git Bash, PowerShell, or Windows Terminal for the best experience. Mac and Linux users can use their default terminal applications.

Step 1: Install Git (if necessary)

If you haven’t installed Git, follow these steps for your operating system:

  • Windows: Download Git and install it. Git Bash will also be installed, which offers a UNIX-like terminal on Windows.
  • Mac: Run the following command in the terminal:
  brew install git
  • Linux: Use the following command, depending on your distribution:
  sudo apt install git  # For Debian-based distributions
  sudo yum install git  # For Red Hat-based distributions

Step 2: Configure Git

Before starting with Git, set up your user information so that your commits are correctly attributed.

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

The --global flag applies this configuration to all repositories on your system. You can also set these options on a per-repository basis by removing the --global flag.

Step 3: Create a New Repository

To start working with Git in a new project, initialize a Git repository.

  1. Navigate to the Project Directory:
   cd path/to/your/project
  1. Initialize Git:
   git init

This command creates a new .git folder in your project directory, setting it up as a Git repository.


Step 4: Key Git Commands for Everyday Use

1. Check the Status of Your Repository

To see changes in your repository, use:

git status

This command shows modified files, untracked files, and the current branch.

2. Add Files to the Staging Area

Before committing changes, you need to add them to the staging area.

  • To add a single file:
  git add filename.ext
  • To add all changes:
  git add .

The staging area is a middle step before committing, allowing you to review changes before they become part of the repository history.

3. Commit Changes

To save changes to the repository, commit them with a descriptive message:

git commit -m "Commit message describing the changes"

Each commit represents a snapshot of your project, enabling you to track and revert changes if needed.

4. View Commit History

To see a list of past commits:

git log

For a more concise, one-line log:

git log --oneline

Step 5: Working with Branches

Branches allow you to work on features or fixes independently from the main codebase.

1. Create a New Branch

To create a branch called feature-branch:

git branch feature-branch

2. Switch to the New Branch

To switch to the new branch:

git checkout feature-branch

Or combine both steps into one with:

git checkout -b feature-branch

3. Merge a Branch

Once you’ve completed work on your branch, you can merge it back into the main branch.

  1. Switch to the branch you want to merge into (often main or master):
   git checkout main
  1. Use the merge command:
   git merge feature-branch

4. Delete a Branch

To delete a branch locally after merging:

git branch -d feature-branch

Step 6: Connecting to a Remote Repository

To collaborate with others or back up your code, connect your local repository to a remote, such as GitHub, GitLab, or Bitbucket.

1. Add a Remote Repository

To link your repository to a remote URL:

git remote add origin https://github.com/username/repository-name.git

Replace origin with the desired remote name and https://github.com/username/repository-name.git with the URL of your remote repository.

2. Push Changes to Remote

To upload your local commits to the remote repository:

git push origin branch-name

3. Pull Changes from Remote

To update your local branch with changes from the remote repository:

git pull origin branch-name

This command retrieves and integrates remote changes into your local repository.


Step 7: Common Commands for Undoing Changes

Git provides commands for undoing changes, allowing you to revert mistakes safely.

  • Unstage Changes: If you’ve accidentally added a file to the staging area, remove it with:
  git reset filename.ext
  • Undo a Commit: To undo the most recent commit, keeping changes in your working directory:
  git reset --soft HEAD~1
  • Revert a Commit: To create a new commit that undoes a previous one:
  git revert commit-hash

Step 8: Check Your Remote Repository Connection

After setting up and pushing your code to a remote repository, verify that the connection is established:

git remote -v

This command shows all remote connections and URLs associated with your project, allowing you to confirm that you’re pushing to the right location.


Conclusion

Mastering Git in the terminal gives you efficient control over versioning, branching, and remote repositories. By learning these essential commands and best practices, you’ll be well-equipped to manage complex projects, collaborate with others, and maintain a clean history of your work. Practice these commands in small projects, and soon the terminal will become your preferred way of working with Git.


Spread the love
Click to comment

Leave a Reply

Your email address will not be published. Required fields are marked *