Common git commands
Imagine you’re a developer working on a project that’s stored in a remote Git repository. Your first step is to clone the repository using the command git clone git@github.com:some-account/some-project.git
.
Once you’ve cloned the repository, you can start working on a new feature by creating a new branch using the git checkout
command with the -b
flag and a branch name, like this: git checkout -b my-feature
. This creates a new branch called my-feature
and switches to it. To see the list of branches, you can use the git branch
command.
If you need to switch back to the master
branch to work on something else, you can use the command git checkout master
.
If you want to view a specific commit or a log of all the commits, you can use the git log
command. You can even checkout a specific commit by passing its SHA
to the git checkout <SHA>
command.
To update your branch from master, you can use the following commands: git checkout master
to switch to the master
branch, git pull
to fetch the latest changes, git checkout <branch>
to switch back to your branch, and git merge master
to merge the changes from master
into your branch. If a conflict occurs, you can abort the merge by using the git merge --abort
command, or you can resolve the conflict by editing the file and then using the git add <file>
command to add the file to the list of files to commit, and then git commit
to commit the changes.
If you’re swithing between branches and need to temporarily save your changes without committing them to avoid conflicts, you can use the git stash
command. To recover the changes later, you can use the git stash pop
command, and to remove them completely, you can use the git stash drop
command.
To see the changes you’ve made locally, you can use the git status
command. If you need to undo changes to a specific file, you can use the command git checkout -- filename.txt
. In general, when you want to perform a git operation on a single file, use -- filename
. To see the differences between your local changes and the latest commit, you can use the git diff
command, or to compare with master you can use git diff master...
To get the URL of the remote repository, you can use the git remote -v
command. This will show you the origin URL from where you originally cloned the repository.
When you’re done updating your files, you can use git status
to see the list of files that you have modified, then git add <file>
to add the files to the list of files to commit, and git commit
to commit them.
When you’re ready to update the remote repository with your changes, you can use the git fetch
or git pull
commands to download any new changes, and then use the git push
command to push your changes to the remote repository.
Important. It’s always recommended to try the commands on a test repository before using them on a real project.
Common questions
pull vs fetch, what’s the difference?
The git pull
command is used to update the local repository with changes from the remote repository. It combines two commands: git fetch
and git merge
.
git fetch
only downloads the changes from the remote repository to the local repository, without merging them into the current branch.
In summary, git pull
is a convenient way to update the local branch with the latest changes from the remote branch, but it can also be risky if there are conflicts between the local and remote changes. In contrast, git fetch
is a safer way to update the local repository as it does not automatically merge the changes, allowing you to review the changes before merging them manually.