1. 程式人生 > >git命令使用詳解(版本回退)

git命令使用詳解(版本回退)

之前寫了一篇git安裝和建立本地倉庫,新增、提交檔案的文章。本文來講講git 的一些其他的命令 ,建立倉庫這裡我們就不講了(如果不明白可以點選此處)
現在我們以gitProject 倉庫為例子 一些git命令如下

1、git status

假如我們之前已經把gitProject提交了 可是我們想看目前的狀態 就可以輸入git status
在這裡插入圖片描述
因為之前已經提交沒有改變任何東西
現在我們修改一個檔案 輸入git status
在這裡插入圖片描述
git status命令可以讓我們時刻掌握倉庫當前的狀態,上面的命令輸出告訴我們,ViewController.m檔案被修改過了,但還沒有準備提交的修改。
git status告訴我們,將要被提交的修改包括ViewController,可以放心地提交了:

2 git diff

現在我們想看看我們之前修改了什麼地方 ,這個時候我們就用到了 git diff 命令
在這裡插入圖片描述

**3 git reset 和 git log **

往往我們開發一個專案的時候,有時候很多的需求同時開發,我們等到上線的那天,把要上線的分支程式碼都合併到主線,結果臨時不上了。這個時候就會用到回退
首先將修改下專案然後提交
在這裡插入圖片描述

git log

然後 我們修改了很多,可以看看都提交了多少次 ,我們用git log命令查歷史記錄
在這裡插入圖片描述
如圖提交了三次 圖中commit 後面的一串是commit id
從圖上看輸出的資訊太多了 ,我們能不能顯示的少一點呢 答案是可以的
git log 後面加上 --pretty=oneline引數 如下圖
在這裡插入圖片描述

git reset

HEAD指向的版本就是當前版本,git允許版本的歷史回滾,使用命令 git reset --hard commit_id。
我們現在想回到第二次的提交
首先,git需要知道當前版本是哪個版本,HEAD表示當前版本,也就是最新的提交5cdbfd8b134d25258e41d4062022f3af9b118e36(注意我的提交ID和你的肯定不一樣),上一個版本就是HEAD^,
上上一個版本就是HEAD^^,
當然往上10個版本寫10個^比較容易數不過來,所以寫成HEAD~10。
然後我們輸入 git reset --hard HEAD 如圖回退到了 上一個版本了
在這裡插入圖片描述

檢視下歷史 git log
在這裡插入圖片描述
回退成功了
但是 當我們用$ git reset --hard HEAD^ 回退到上一個版本後,我們又想恢復回去了,就必須找到上一個版本的commit id。git提供了一個命令git reflog用來記錄你的每一次命令:如圖
在這裡插入圖片描述
然後 git reset --hard 5cdbfd8 如圖回退成功
在這裡插入圖片描述
檢視下歷史 git log 在這裡插入圖片描述
用git log可以檢視提交歷史確定要回退到哪個版本。
要回到之前回滾的版本,用git reflog檢視命令歷史確定要返回的哪個版本。