git review (二)

git review (二)

git stash進度恢復

git stash 執行之後,在暫存區跟蹤過後的文件無論在暫存區還是工作區的都會被重置掉,而沒有add的文件都還存在在工作區。(據說是用了git reset --hard HEAD,但是沒有跟蹤在暫存區的文件沒被刪除啊!!)

git stash pop或者apply之後,工作區現在沒有被跟蹤的文件不會丟掉,好像只增加了一些文件,其它的沒動。

git reset –hard HEAD 執行了下,看來untracked file都不會管啊= =、
git stash命令
git stash list
git stash pop
git stash save "message..."
git stash apply [<stash>]
git stash drop [<stash>]
git stash clear 清除所有stash

git clean 命令
git clean -nd 查看哪些文件和目錄會被刪除
git clean -fd 強制刪除多餘的目錄和文件

關於git stash 做了什麼

通過git diff commitID1 commitID2命令進行比較發現
多了三個提交,分別是WIP工作區的提交,index暫存區的提交,他們倆的父提交都是原來的HEAD的commit(這裏叫做原基線)
原基線和暫存區差別就是git add之後跟蹤的文件
原暫存區和原工作區沒有差別。。這個跟書上不一樣,我親自試過,可能版本不同現在的改進了
原工作區和原基線的差別就是git add之後跟蹤的文件

刪除文件

git ls-files 顯示版本庫中的文件
git ls-files –with-tree = HEAD^
刪除暫存區的文件命令
git rm filename
然後 git commit
git add -u 命令表示將本地所有改動(修改和刪除)的文件都標記到暫存區。
git add -A 會將所有改動及增加的文件添加到暫存區。
恢復某個文件(舉例):
git chechout HEAD~1 -- filename
改名(舉例):
git mv a b

git tag 里程碑

git tag -m 'message' tag_name

git log --oneline --decorate 此處decorate可以在提交id旁邊顯示提交關聯的引用(里程碑或者分支)。

git describe 可以查看現在的tag後的編號,可以作爲版本號。

文件忽略

在想要忽略文件的目錄下添加 .gitignore 文件,裏面內容是忽略的文件(且只對未跟蹤文件有效)
本地獨享式忽略文件 .git/info/exclude來設置。
忽略語法見git權威指南**Page**129

文件歸檔

基於最新提交建立歸檔文件latest.zip
git archive -c latest.zip HEAD
只將目錄src和doc建立到歸檔partial.zip中
git archive -c partial.tar HEAD src doc
基於里程碑v 1.0建立歸檔,後面會介紹

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章