學習來源:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000git
安裝:略ruby
第一步:建立版本庫學習
$ mkdir learngit (mkdir 建立版本庫名爲learngit) $ cd learngit (cd 切換到learngit) $ pwd (pwd 顯示當前文件夾)
第二步:經過命令 git init 把這個目錄變爲git可管理的倉庫=spa
$ git init Initialized empty Git repository in /Users/michael/learngit/.git/
瞬間Git就把倉庫建好了,並且告訴你是一個空的倉庫(empty Git repository),細心的讀者能夠發現當前目錄下多了一個.git
的目錄,
這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裏面的文件,否則改亂了,就把Git倉庫給破壞了
第三步:在文件夾下右鍵新建 xiao.txt 文件
而後手動在xiao.txt 裏面填寫內容 並保存
.git
注意事項:不要使用win自帶記事本進行編輯。建議使用Notepad++
建立好後 用命令告訴git 把文件添加到倉庫裏面去
執行完成後。他不會有任何提醒。
添加完成後,就提交 git commit -m "xiao.txt提交" (-m後面字符串是提交內容。也就是說更新了什麼說明一下)
提交完成後,按正常來說也就結束了。 但咱們還要繼續學習其餘的內容
第四步:查看修改的內容
咱們對xiao.txt 內容進行再次編輯
執行命令 git status 以下圖 提示 已經被修改 但沒有提交3d
查看修改的內容 git diff xiao.txt 下圖字符串顯示綠色 表明是修改的內容code
檢查沒有問題後 把他提交到倉庫blog
git add xiao.txt字符串
而後咱們再檢查一下 下圖:git status
告訴咱們,將要被提交的修改包括readme.txt,下一步,就能夠放心地提交了:it
提交class
下圖:Git告訴咱們當前沒有須要提交的修改,並且,工做目錄是乾淨(working directory clean)的。
查看歷史提交記錄 版本命令
git log commit 後面的字符串 是(版本號)commit id
回退以前的版本:回退版本 git reset --hard HEAD^ HEAD表明當前版本 ^表明回退上一個版本 若是回退100個的話就是 HEAD~100
上一步。回退上一個版本
注意:回退到上一個版本後 當前版本查找歷史版本(git log)是找不到了的,當前版本是沒有了的,若是當前窗口沒有關閉能夠經過 以前查找出來的版本 id 進行更新
如:git reset --hard id號
固然:若是我關閉電腦了,也看不到以前的id了,該怎麼辦
執行命令: git reflog ff795bd 就是id號
HEAD
指向的版本就是當前版本,所以,Git容許咱們在版本的歷史之間穿梭,使用命令git reset --hard commit_id
。
穿梭前,用git log
能夠查看提交歷史,以便肯定要回退到哪一個版本。
要重返將來,用git reflog
查看命令歷史,以便肯定要回到將來的哪一個版本。
管理修改:
記得每次修改夠要 git add 把他放到工做區,而後在git commit
第一次修改 -> git add
-> 第二次修改 -> git add
-> git commit
撤銷修改:
狀況1:編輯了文本保存 。但不知道修改了那些地方。
執行命令 git checkout -- 文件.後綴名
狀況2:已經經過git add 放到暫存區了。
執行命令 git reset HEAD -- 文件名.後綴名 (撤銷暫存區)
git checkout -- 文件.後綴名
狀況3:已經git commit提交到了版本庫了
執行命令:git reset --hard HEAD^ 回退到上一個版本。但有一個條件。就是還沒提交到遠程版本庫。
刪除文件:
把整個文件刪除命令: rm 文件名.後綴名
這個時候雖然電腦上文件沒了。但在版本庫裏面是有的。咱們須要處理一下
咱們能夠經過git status 查看一下修改的東西
會提示 :deleted: test.txt 說明這個被刪除了
狀況1:我是真的要刪除的、 那麼再執行命令 git rm test.txt 而後再執行 git commit -m "說明" 狀況2:誤刪了、須要找回來 執行撤銷操做:git checkout -- test.txt 狀況3 已經執行了狀況1,經過回退上一個版本 執行命令:git reset --hard HEAD^