Home >Development Tools >git >What is the usage of checkout in git?

What is the usage of checkout in git?

WBOY
WBOYOriginal
2022-01-04 16:48:1949488browse

In git, checkout means "checkout". This command is used to switch branches or restore working tree files. The syntax is "git checkout branchName" or "git checkout parameter option branch".

What is the usage of checkout in git?

The operating environment of this article: Windows 10 system, Git version 2.30.0, Dell G3 computer.

What is the usage of checkout in git

Checkout (checkout) is one of the most commonly used commands in git. Use it Your proficiency directly determines your proficiency in understanding and mastering git, so we have reason to make a good summary of this command.

1. Basics

The most commonly used use of checkout is to switch working branches:

git checkout branchName

This command will switch the current working branch to branchName. In addition, you can use the following command to switch branches while creating a new branch:

git checkout -b newBranch

This command is equivalent to the execution result of the following two commands:

1. git branch newBranch 
2. git checkout newBranch

The complete form of this command is:

  git checkout -b|-B <new_branch> [<start point>]

An application scenario of this command is: when we just clone a project from git, we can check the branch status of the project

You can see that after cloning, only By default, a master local branch is created, and the others are remote branches. At this time, what should we do if we want to switch to the remote branch of newBranch? There are many methods, we will briefly introduce two:

Method 1: Use git checkout -b

 git checkout -b newBranch  origin/newBranch

Method 2: Use git branch []

git branch newBranch origin/newBranch
git checkout newBranch

Method one is actually a simplified version of method two

2. Go deeper

To understand checkout more deeply, we need to understand the mechanism of checkout. The main associated target of this command is actually the HEAD file under the .git folder. We can view the .git folder under the project:

The HEAD file under this folder records the current HEAD information. Continue to view HEAD File:

What is the usage of checkout in git?

You can see that the current HEAD file points to the master file under the refs/heads path. This file records the latest commit id of the master branch, indicating that the current HEAD points to The master branch. If we switch the current branch to the newBranch branch, we look at the HEAD file again:

You can see that the content of the HEAD file points to the newBranch branch

What is the usage of checkout in git?

3. Extension

Usage 1:

 git checkout [<commit id>] [--] <paths>

This command is mainly used to check out a specified file.

If you do not fill in the commit id, the file will be checked out from the staging area by default. If the staging area is empty, the file will be rolled back to the most recent submission status.

For example:

When the temporary storage area is empty, if we want to abandon the modification of a certain file, we can use this command to undo:

git checkout  [--] <paths>

If you fill in commit id (which can be either a commit hash, a branch name, or a tag, which are essentially commit hashes), the file will be checked out from the specified commit hash. Used to restore a certain file to a certain commit state.

Usage 2:

  git checkout -b <new_branch> [<start_point>]

This command is an extension of the common usage of checkout mentioned at the beginning of the article. We can specify a branch or a commit to create a new branch and switch to Under this branch, this command is equivalent to the execution results of the following two commands:

 1. git branch  <new_branch> [<start_point>]
 2. git checkout <new_branch>

Recommended learning: "Git Tutorial"

The above is the detailed content of What is the usage of checkout in git?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn