Git常用命令和場景 三 版本差別檢視

2021-06-16 15:19:46 字數 2496 閱讀 6828

**更新上線前,需要進行**評審和走查,對於git,主要是檢視現行版本和線上版本**的差別,即使用git diff。

首先,還是檢視程式版本,git log

[lixinglei@bogon my]$ git log

commit d87f3ea30f8e1a31ef26523c43d17237e4b7285c

merge: bf468f2 2e47641

author: lixinglei date: tue jul 16 21:12:58 2013 +0800

merge branch 'master' of 127.0.0.1:my

commit bf468f2aea582956e98d91af6eeea27da9812ba9

author: lixinglei date: tue jul 16 21:08:31 2013 +0800

二號需求

commit 2e476412c34a63b213b735e5a6d90cd05b014c33

author: lixinglei date: tue jul 16 20:31:39 2013 +0800

一號需求——bug修復

commit c0f28a2ec490236caa13dec0e8ea826583b49b7a

author: lixinglei date: fri jul 16 19:41:07 2013 +0800

一號需求

commit c34d6a8216a0aba5194a9b8dd2f41f7ca41499a8

merge: 7f8fd44 32f74cd

author: lixinglei date: tue jul 16 16:30:05 2013 +0800

merge 127.0.0.1:my

commit 32f74cd586788caf66ac1ae15281aedfb23d71db

author: lixinglei date: tue jul 16 16:29:05 2013 +0800

bug1001

commit 7f8fd44d9404859608515c7d0f389890bcc4a529

author: lixinglei date: tue jul 16 16:24:12 2013 +0800

bug2002

如果要檢視版本之間的差異,通過git diff就可以了,這裡又有一些區別,關於merge的版本和非merge的版本的。如果兩個版本之間是不存在分支,也就是沒有經過merge的,比如在這一段時間只有乙個人在乙個分支上開發,然後提交更新版本,這種情況下,兩個版本之間直接通過git diff 版本號就可以檢視差別了。而如果是多個人同時在提交,或者乙個人開了不同的分支,在提交,則後提交的在git pull之後,自動進行過merge操作,即將這段時間其他分支上(可能是不同的人提交的,也可能是同乙個人開不同的分支提交的)的**進行合併,這樣在檢視版本區別的時候,需要區分來看。

例子中的版本中,對於有merge的情況,如:

要檢視bug1001改變的內容使用git diff "bug1001對應版本號" "merge後的版本號",即:

git diff 

32f74cd586788caf66ac1ae15281aedfb23d71db 

c34d6a8216a0aba5194a9b8dd2f41f7ca41499a8

檢視bug2002的改變內容則使用git diff "bug1002對應版本號" "merge後的版本號",即:

git diff  

7f8fd44d9404859608515c7d0f389890bcc4a529

c34d6a8216a0aba5194a9b8dd2f41f7ca41499a8

對於沒有merge的情況,如: 要查

看「一號需求bug修復」的內容,則由於「一號需求」和「一號需求bug修復」之間沒有merge,即同一段時間內同一分支內提交的內容,則直接對比兩個版本之間的差別即可,即:

git diff 

c0f28a2ec490236caa13dec0e8ea826583b49b7a 

2e476412c34a63b213b735e5a6d90cd05b014c33

對於以上情況沒有遵守的,會出現如下情況,如果是有分支合併的情況要檢視版本差別,如檢視bug1001的變化,而直接使用了連續兩個版本的差別,即:

git diff 

7f8fd44d9404859608515c7d0f389890bcc4a529

32f74cd586788caf66ac1ae15281aedfb23d71db

則會出現,對於bug1001提交的內容會正確展示,同時會將bug1002提交的部分以反向的方式展示。即如果是bug1002增加的**,這裡會顯示為"-",對於bug1002刪除的**,則又會展示出"+"。看起來相當詭異...!git 的版本號不是很友好,亂糟糟的一團,不過基本不影響正常使用,只是不太容易描述,這也要求版本提示資訊一定要認真填寫,不然真的無從描述哪個版本了。

HG常用命令和場景 三 版本差別檢視

相比對git的版本差別檢視,hg的思路和命令也都接近,都是通過,log和diff命令,只是略有不同 在hg中,使用hg log,缺省會列印所有的版本,一長串,倒序排列,意義不大,所以,通常使用hg log more,這樣只檢視最近的幾個版本,如果需要更前面的版本,則繼續 下拉 即可 root bog...

git常用命令 二 版本控制

檢視歷史版本 head指向當前版本 git log將歷史記錄以一行的形式展現出來 雜湊值全顯示 注意等號左右沒有空格 git log pretty oneline將歷史記錄以一行的形式展現出來 雜湊值顯示一部分 git log oneline歷史記錄 雜湊值一部分 帶移動步數 git reflog版...

Git常用命令和場景 二 版本回退

1.首先使用hg log more 檢視要回退到的版本 lixinglei bogon project hg log more changeset 1167 dc735d4b2c72 tag tip user lixl date tue sep 17 20 04 16 2013 0800 summa...