這命令會比對目前工作目錄 (working directory) 及暫存區域 (stage area) 的版本,
然後顯示尚未被存入暫存區 (stage area) 的變更。
git diff
這指令是git 1.6.1之後的版本使用
git diff --staged
使用版控時,有時會發生已commit後才發現還有屬於這次commit應該要上的黨案漏了上上去
這時候只好在commit一個,用一樣的發布訊息來上
git有個指令可以做到類似上面情境的作法,但是只會有一個commit紀錄
git commit --amend
如果不小心把不要放到暫存區的檔案add到暫存區內,可以透過git reset HEAD 來移除
git reset HEAD test2.txt
有時候改一改,想要恢復到原本的狀態可以用這個指令
但是要小心,任何本地端的異動都會被復原為最後commit的版本
git checkout -- test2.txt
若想要練習git操作
可以透過GitHub帳號或是在本機端建立版本庫
透過GitHub是個不錯的練習方式,只是會受限於要在有網路的環境才有辦法進行PULL跟PUSH等指令
我是選擇在本地端建立版本庫以及開發區來練習
在本機端找個資料夾(假設為/usr/git/MyRep)執行
git init --bare
這會建立一個版本庫在/usr/git/MyRep
再來就可以建立一個開發區的資料夾(假設為/usr/git/MyDev)
透過下面clone指令可以將版本庫的內容複製到開發區,並且建立remote及client的關聯
git clone /usr/git/MyRep /usr/git/MyDev
此時到開發區內執行確認遠端的資訊的指令,可以發現remote的資訊就是剛才建立的版本庫資料夾
$ git remote -v
origin /usr/git/MyRep/ (fetch)
origin /usr/git/MyRep/ (push)
做到這個部分就完成了一個可以自己練習用的git環境了