該命令可以查詢以往倉庫中提交的日誌,像下面這樣:
在日誌上面可以看到之前加的一些comment 等。
- git diff — 檢視前後的差別(這裡模糊不清)
由於我們沒用git add 命令向暫存區新增任何東西,所以程式只會顯示工作樹與最新提交狀態之間的差別。用「+」表示新新增的行,「-」表示刪除的行,在這裡可以看#git learning 前面有乙個」+「 號。
git diff —> 是檢視工作樹與暫存區的差別
git diff head —> 是檢視工作樹和最差別,這裡的head是指向分支中最新一次提交的指標。前輩指點:在每次執行git commit 之前,先執行git diff head ,可以看到本次提交與上次提交之間的差別。
接下來執行git commit
常用的基本操作看完後,看一下分支操作
- git branch — 顯示分支一覽表
表示當前所在的分支,結果中沒有顯示其他分支,表示本地倉庫中只有乙個master分支。
上面的的 git checkout -b branch-a 其實等同於下面:
$ git branch branch-a
$ git branch checkout branch-a
這裡提到一外名字:培育分支,即我們不斷對乙個分支 ,像branch-a提交的操作。
我在readme.md檔案中新增一行 : this is branch-a ,然後執行下面的操作:
當我再回到master分支時,可以看到:
它會提示你要不要reload 這個檔案,點reload 後,readme.md檔案又回到之前的狀態了:
即branch-a分支的更改不會影響到master分支。這是它的乙個優點。
這裡提到兩個概念:
先切換回master分支,再輸入命令:
$ git merge --no-ff branch-a
可以看到一些資訊,這個時候,readme.md中又多了之前那一行。說明branch-a分支的內容就合併到master分支中了。
這裡可以更直觀的看到提交日誌資訊。
我們上面已經merge了branch-a分支,現在要做的是回到建立branch-a之前的狀態,然後此時再建立乙個fix-b的分支。
在日誌中可以查到目標時間點的雜湊值,被紅色框框起來的部分。此時已經回到了branch-a建立之前的狀態
建立fix-b分支,完成後,在readme.md檔案中加一行:- fix-b,然後commit
接下來 推進至branch-a分支merge後的狀態,輸入git reflog 命令,檢視當前倉庫的日誌,而git log 只能檢視以當前狀態為終點的歷史日誌。
上面是比較有意思的部分了,將head(即最近一次提交,不知道這麼理解對不對)、暫存區、工作樹恢復到這個時間點的狀態。
現在我們執行merge,針對於readme.md檔案,branch-a分支對它作了修改,而fix-b同樣也對其作了修改:
可以看到自動merge失敗了,腫麼辦呢?開啟readme.md檔案看看:
只能手動修改了。
修改完成後,再commit
今天先寫到這裡,未完待續。
Git基本常用操作
1.重新命名 git 資料夾 git mv src dst2.回退到某個提交 git reset hard commit id commit id 可以省略為前6位3.拉取遠端分支 git pull origin master 從遠端origin獲取最新版本並merge到本地master分支or g...
git 常用基本操作
git基本操作命令 1 git init 初始化,在當前目錄生成乙個.git檔案 2 git add 新增當前路勁所有檔案 3 git commit am 提交建議 提交上一步新增的檔案到本地倉庫 4 git remote add origin git xx.xx.xx.xx repos git 增...
git常用基本操作
git config可以配置git的引數,可以使用git config list檢視已經配置的git引數。其中有三個級別的儲存位置,system global local,分別表示所有使用者 本系統 當前使用者 全域性 本地配置 當前目錄 預設使用 local。配置使用者名稱郵箱 在使用git提交前...