廖雪峰老师的网站:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
本地仓库图示:
命令总结:
初始化版本库(本地仓库):git init
把文件添加到缓存:git add <file.name> git add .(添加全部文件到缓存区)
把文件添加到缓存区:git commit -m <message>
查看工作区的状态:git status(如果git status告诉你有文件被修改过,用git diff<filename>
可以查看修改内容。)
查看历史提交:git log --pretty=oneline (从近到远)(需要友情提示的是,你看到的一大串类似1094adb...
的是commit id
(版本号))
版本回退;需要知道当前版本是哪个版本,用HEAD表示,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
。
回到上一个版本;
git reset --hard HEAD^
回到某一个版本(根据版本号来确定)
git reset --hard 1094a(此处1094a为版本号)
git reflog:记录每一次的命令,恢复已经删掉的版本
查看文件内容:cat <filename>
git diff HEAD -- <filename>
命令可以查看工作区和版本库里面最新版本的区别
git checkout -- <filename>把<filename>文件在工作区的修改全部撤销 让文件回到git commit
或git add
时的状态。
git reset HEAD <file> 可以把暂存区的修改撤销掉(unstage),重新放回工作区
git rm 删除文件
在add和commit之后删除本地文件:
1,真的想要删除,再一次add,commit
2,删除错误,要恢复文件,git checkout -- <filename>(用版本库里边的文件替换本地文件)
添加远程仓库
第一步,创建SSH:Windows下打开Git Bash),创建SSH Key:
ssh-keygen -t rsa -C "youremail@example.com"
无需设置密码,enter到底;可以在用户主目录里找到.ssh
目录,里面有id_rsa
和id_rsa.pub
两个文件,这两个就是SSH Key的秘钥对,id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,可以放心地告诉任何人。
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub
文件的内容:
为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
绑定远程仓库: git remote add origin git@github.com:michaelliao/learngit.git(要把michaelliao/learngit.git替换成自己的仓库)
由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。