公司裏面用的版本控制系統是git,以前一直使用svn,用了一段時間git,如今總結了一些在工做當中常常用到的一些比較重要的命令
git
撤銷單個文件
撤銷全部已經添加到暫存區的文件
放棄單個文件的修改
放棄全部文件的修改
暫存區和版本區之間的區別
工做區和版本區之間的區別
使用版本區中的文件覆蓋工做區和暫存區的文件
^表示回退到當前版本的上一個版本,也就是commit_id
一樣咱們也能夠直接回退到某一個固定的版本id狀態
注意:加hard和不加hard之間的區別,加hard表示使用版本庫中的文件將暫存區和工做區的全部文件都覆蓋掉,使用--hard參數的時候,只能將所有文件都覆蓋掉,不能進行單獨文件的覆蓋,若是隻但願覆蓋某一個文件,那麼只能使用checkout操做,由於有時候會遇到將別人文件覆蓋的狀況,或者合併分支合併錯誤,這個時候就須要回滾操做,reset --hard head 就比較重要了通常狀況下,一旦進行了回滾操做,證實是以前的代碼寫亂了,纔會進行,可是若是回滾以後,發現已經修改了的代碼改的是對的,又想前進上去怎麼辦。
用來查看全部的提交id,包括以前被回退的id
如今總結一下: HEAD指向的版本就是當前版本,所以,Git容許咱們在版本的歷史之間穿梭,使用命令git reset --hard commit_id。 穿梭前,用git log能夠查看提交歷史,以便肯定要回退到哪一個版本。 要重返將來,用git reflog查看命令歷史,以便肯定要回到將來的哪一個版本。