git 學習(散記)之二(檔案提交、版本回退、暫存區與工作區、撤銷修改)
提示:如果是初學者 可以按照我的命令敲一遍。在第一篇要去註冊一個github賬號才能繫結本地倉庫
一、修改檔案處理以及檢視操作
vim readme.txt //開啟後隨便修改一下
git status //檢視狀態
如果想看檔案改了什麼 可以用 git diff readme.txt 來看修改的內容
git add readme.txt
git commit -m"update small readme.txt"
ok,修改後又重新提交了。
二、版本回退(步驟:通過git log檢視提交歷史版本id 回退至此id即可)
git log //檢視歷史版本記錄
git reset --hard commit_id //回退至此commit_id的版本 版本回退後 此版本之前的檔案修改就會返回至此版本下,注意提前做備份
要重返未來,用git reflog
檢視命令歷史,以便確定要回到未來的哪個版本。同樣使用git reset --hard commit_id 回到未來的版本
三、git暫存區與工作區(與svn的差別 是git有暫存區 而svn無)
工作區就是本地的資料夾,修改增加檔案工作的地方
暫存區:是git add XXX 新增檔案時候提交到暫存區 通過git commit -m"xxxx" 統一提交到git倉庫
四、為什麼Git比其他版本控制系統設計得優秀,因為Git跟蹤並管理的是修改,而非檔案。
修改檔案->git add XXX ->第二次修改-> git add XXX ->git commit -m"xxx" 這樣commit真正提交的是第一次修改的檔案
若第二次修改後 再次進行git add XX git commit -m"xxx" 則第二次修改的同時提交(理解暫存區的概念)
五、撤銷修改
情況1,修改readem.txt後 發現改錯了 怎麼辦?
方法1:通過手動的方式修改程式碼;
方法2:git checkout --readem.txt 撤銷工作區修改的程式碼,就是讓這個檔案回到最近一次git commit
或git add
時的狀態。。注意--非常重要 若無,則是切換分支命令
情況2:修改readem.txt 並且git add到暫存區了,發現改錯了,怎麼辦?
方法:git reset HEAD readem.txt 把暫存區的修改撤銷掉(unstage),重新放回工作區
小結: 1.修改檔案後重新提交 vim readem.txt git add XX --> git commit -m"XX"
2.版本回退:git log 檢視版本id git reset --hard 版本id
3.理解暫存區、工作區的概念 git add後 使檔案提交到暫存區 但不算是真正的提交的線上倉庫
4.撤銷修改 (1)工作區回退 git checkout --檔名 使之回到最近一次git add或者git commit 時候的程式碼狀態
(2)暫存區回退: git reset HEAD readem.txt 把暫存區的修改撤銷 重新放回工作區 然後可使用git checkout --readem.txt 使檔案回到最近一次提交時候的狀態
需要記住: git add
git commit -m""
git reset --hard commit_id(版本id)
git checkout --XXX
git reset HEAD XXX