创建版本库:
$ git init
添加文件到版本库:
$ git add readme.txt
$ git commit -m "readme modified":一次可以提交很多文件(在commit之前一定要git add)
image
查看版本库状态:
$ git status
查看文件修改:
$ git diff readme.txt(如果再stage中,查看的是stage中的内容;没有为master 中的内容)
查看各次修改:
$ git log
$ git log --pretty=oneline
版本回退:
$ git reset --hard HEAD^
版本回退之后恢复(在原窗口没有被关闭的情况):可到任一版本
$ git log --pretty=oneline
96608adc6b5a66b488d45938490f8eb2faf1ec90 (HEAD -> master) add test.txt
9730ede8564f23d5e04fcd2af040fb055d9ef2b2 delete temp.txt
47a662aa9bdf4807ec2c69bd780ae11537623064 add temp.txt
328b39adec3d905ade91afb74d1c9ea150e2f3c6 add 1 line
ca58ee882cfd805b8f94e515f141ebe6e3657bb9 add new
29d1b1cd531e19481f15ebd7bf2c12ef3772779e added readme
63de0a90102c9ba400bbaedd452dfb748a776462 wrote a readme txt
$ git reset --hard ca58e
HEAD is now at ca58ee8 add new
$ git log --pretty=oneline
ca58ee882cfd805b8f94e515f141ebe6e3657bb9 (HEAD -> master) add new
29d1b1cd531e19481f15ebd7bf2c12ef3772779e added readme
63de0a90102c9ba400bbaedd452dfb748a776462 wrote a readme txt
丢弃工作区的修改:
$ git checkout -- file
将暂存区的内容退回到工作区:
$ git reset HEAD readme.txt
在版本库中删除文件:
$ git rm temp.txt
$ git commit -m "delete temp.txt"
$ ls
readme.txt temp.txt
$ git rm temp.txt
rm 'temp.txt'
$ ls
readme.txt
$ git commit -m "delete temp.txt"
[master 9730ede] delete temp.txt
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 temp.txt
$ git log --pretty=oneline
9730ede8564f23d5e04fcd2af040fb055d9ef2b2 (HEAD -> master) delete temp.txt
47a662aa9bdf4807ec2c69bd780ae11537623064 add temp.txt
328b39adec3d905ade91afb74d1c9ea150e2f3c6 add 1 line
ca58ee882cfd805b8f94e515f141ebe6e3657bb9 add new
29d1b1cd531e19481f15ebd7bf2c12ef3772779e added readme
63de0a90102c9ba400bbaedd452dfb748a776462 wrote a readme txt
版本库中已提交、误删工作区的文件,恢复误删文件:
$ git checkout -- test.txt