添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • Learn CI/CD Tools
  • Newsletter
  • CKA Study Guide
  • CKS Study Guide
  • Sponsor
  • Learn CI/CD Tools
  • Newsletter
  • CKA Study Guide
  • CKS Study Guide
  • Sponsor
  • There are scenarios where you might need to checkout or clone from a specific git commit id. For example, you might want to perform a git pull on a specific commit version for troubleshooting.

    This blog explains the steps involved in checking out a specific git commit ID (SHA).

    Important Note: Always keep a backup of your code with all the commit histories before performing any git activity that may change or reverse the code.

    Checkout From Specific Git Commit ID

    Follow the steps to checkout from a specific commit id.

    Step 1: Clone the repository or fetch all the latest changes and commits.

    Step 2: Get the commit ID (SHA) that you want to checkout. From your local repository, you can get the commit SHA from the log. If you are using any platforms like Github, you can get the SHA id from the GUI itself.

    git log

    Step 3: Copy the commit (SHA) id and checkout using the following command.

    git checkout 28cd74decb47d8a5294eb59e793cb24a0f242e9e

    You can also use the short form of the SHA ID from the start, as shown below.

    git checkout 28cd74de

    You need to be very careful with this checkout . It will be in the detached HEAD mode . Meaning, you can play around with making the changes without impacting any branches. So if you need to make any actual changes to a specific commit, use a branch checkout as explained in the next step.

    Step 4: If you want to make changes from the commit ID checkout, you need to create a branch , as shown below.

    git checkout -b <new-branch-name> <commit-id-sha>

    For example,

    git checkout -b test-branch 7d4c59f5

    This will retain everything from the commit ID to the test-branch .

    Git Clone From Specific Commit ID

    There is no direct way to clone directly using the commit ID. But you can clone from a git tag .

    However, you can do the following workaround to perform a clone if it is really necessary.

  • Clone the repository
  • Perform a hard reset with commit SHA id
  • The above steps will make your current HEAD pointing to the specific commit id SHA.

    For example,

    git clone <repository> git reset --hard <COMMIT-SHA-ID>

    Set Git HEAD to Specific Commit ID

    If you want to revert your HEAD to a specific commit, perform a hard reset with the latest commit SHA after pulling the changes, as shown below.

    git pull
    git reset --hard 7d4c59f5

    To revert it back, you can perform a git pull that will get all the changes from the upstream branch .

    Also, learn how to checkout a git pull request .

    Leave a Reply Cancel reply

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