接git建立本地專案到同步到github
版本回退
在git中通過git log 命令檢視從最近到最遠的提交日誌,如果嫌輸出資訊太多,看得眼花繚亂的,可以試試加上–pretty=oneline引數:
需要友情提示的是,你看到的一大串類似1094adb…的是commit id(版本號),和svn不一樣,git的commit id不是1,2,3……遞增的數字,而是乙個sha1計算出來的乙個非常大的數字,用十六進製制表示,而且你看到的commit id和我的肯定不一樣,以你自己的為準。為什麼commit id需要用這麼一大串數字表示呢?因為git是分布式的版本控制系統,後面我們還要研究多人在同乙個版本庫里工作,如果大家都用1,2,3……作為版本號,那肯定就衝突了。
每提交乙個新版本,實際上git就會把它們自動串成一條時間線。
**$ git reset --hard head^**通過該命令可以將**回退到上個版本
在 windows 的 cmd 命令列下操作 git,想要回滾到上一次提交,但是輸入 git reset --hard head^ 後就顯示 more?,這是因為cmd控制台中換行符預設是 ^ ,而不是\ ,所以它的 more?的意思是問你下一行是否需要再輸入,而 ^ 符號就被當做換行符而被 git 命令忽略掉了。
解決辦法:
方法一:加引號:git reset --hard 「head^」
方法二:加乙個^:git reset --hard head^^
方法三:換成~:git reset --hard head~ 或者 git reset --hard head~1
如果回退後出現問題需要找到回退之前的那個檔案,就必須知道那個檔案在git中提交的時候的id.git提供了乙個命令git reflog用來記錄你的每一次命令,找到上次提交時的備註,找到對於的提交id,然後通過$ git reset --hard *** 就可以將該檔案恢復了。
撤消修改
當你準備將修改好的檔案提交時發現有錯誤,可以開啟檔案重新修改後提交,也可以通過git命令來撤銷修改的內容。
你可以發現,git會告訴你,git checkout – file可以丟棄工作區的修改:
$ git checkout – 123.txt
命令git checkout – 132.txt意思就是,把123.txt檔案在工作區的修改全部撤銷,這裡有兩種情況:
一種是123.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;
一種是123.txt已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。
總之,就是讓這個檔案回到最近一次git commit或git add時的狀態。
已經新增到暫存區的檔案突然發現有問題,可以通過以下操作來撤銷修改的部分:
用命令git reset head 可以把暫存區的修改撤銷掉(unstage),重新放回工作區
git reset命令既可以回退版本,也可以把暫存區的修改回退到工作區。當我們用head時,表示最新的版本。
刪除檔案
刪除的倆種方法:
一是確實要從版本庫中刪除該檔案,那就用命令git rm刪掉,並且git commit:
另一種情況是刪錯了,因為版本庫里還有呢,所以可以很輕鬆地把誤刪的檔案恢復到最新版本:
$ git checkout –
git checkout其實是用版本庫里的版本替換工作區的版本,無論工作區是修改還是刪除,都可以恢復。
git版本控制
1.git 是乙個開源的分布式版本控制系統,可以有效 高速的處理從很小到非常大的專案版本 管理。2.git配置管理 一般,有乙個 集中庫,包含4個分支 qa才能merge production 發布生產,出現生產問題,轉hotfix 研發經理 hotfix 解決緊急生產問題,測試後轉producti...
版本控制 Git
git 是目前世界上最先進的開源的分布式版本控制系統 沒有之一 用於敏捷高效地處理任何或小或大的專案。git 是 linus torvalds 為了幫助管理 linux核心開發而開發的乙個開放原始碼的版本控制軟體。git 與常用的版本控制工具 cvs,subversion 等不同,它採用了分布式版本...
GIT版本控制
不同情況下,實現版本回退 1.對於修改內容後,未add,未commit 可以利用git checkout 檔名 2.對於修改內容後,add,未commit get reset head 檔名 git checkout 檔名 3.對於修改內容後,add,commit 可以回到任何乙個版本 root g...