Essential Git Commands: A Comprehensive Guide
Git is a powerful version control system widely used by developers for effective management of codebases. Knowing key Git commands is essential for successful development and project management. Below is a list of the most important Git commands, detailed explanations of their functionality, and usage examples.
Setup and Configuration
git config
This command sets user parameters in Git, including user name and email, which is critical for authorship identification in your work. For example, setting your user name and email:
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
Creating and Cloning Repositories
git init
Initializes a new local Git repository. This is the first step in creating a new project under Git management. In the project folder, just execute:
git init
git clone [url]
Cloning a repository means creating a local copy of an existing repository from a remote source. For example, cloning a GitHub repository:
git clone https://github.com/example/repo.git
Basics of Working with Branches
git branch
With git branch
, you can create, list, and delete branches. Creating a new branch for feature development:
git branch new-feature
git checkout
This command allows you to switch between branches or restore files in the working directory. To switch to the new-feature
branch:
git checkout new-feature
git merge [branch]
git merge
is used to merge changes from one branch into another. For instance, merging the new-feature
branch into the current branch:
git merge new-feature
Working with Changes
git status
git status
provides information about the status of files in the working directory and index — which files are modified but not added to the index, and which are ready to be committed:
git status
git add [file]
git add
adds file changes to the index, preparing them for commit. To add a specific file:
git add example.txt
git commit -m "[message]"
git commit
saves your changes in the repository. Each commit is accompanied by a message describing the made changes:
git commit -m "Added new functionality"
git diff
git diff
shows the difference between files in the working directory and index, helping to understand what changes have been made:
git diff
Remote Repositories
git push [remote] [branch]
Sending changes from a local repository to a remote repository is done through git push
. For example, to push changes to the master
branch on the origin
server:
git push origin master
git pull [remote]
git pull
fetches and integrates changes from a remote repository into a local one. It’s a combination of fetch
and merge
commands:
git pull origin master
git fetch [remote]
git fetch
downloads changes from a remote repository but does not integrate them into the current branch:
git fetch origin
Conclusion
These commands are the foundation for effective work with Git. Mastering them will allow you to better control the development process and collaborate with other developers. Regular use of Git will improve the quality and organization of your code.