如果你对当前git库里的文本做出了修改,再add到缓存区之前你后悔了,想回到修改前,使用命令:git checkout -- 文件名,
比如我的文件是test.txt,那么回到前一步修改情况就是:git checkout -- test.txt,如果你是加入了缓存区之后又对文件修改,
那么用该命令就会使得文件回到刚刚加入缓存区的状态那么如果对于想删除已经add了的缓存区的文件,
就用命令:git reset HEAD test.txt可以把缓存区的修改退回到工作区,如果想彻底回退再用上面的checkout命令可以回到
初始状态在linux下删除文件用rm -f +文件名,删除文件夹就rm -rf +文件夹名,注意linux是没有回收站的,删除前要想好
对于git仓库来说,删除了里面的所有文件但是对于版本的修改还在的,假如误删了东西,可以通过git reset --hard +commit_id指令
恢复到想要的版本那么如果想要彻底删去git记录就用:git rm test.txt 之后用git commit -m“”命令提交修改就从版本库将文件彻底删掉
了,如果删错了可以用checkout命令回退。
今天学习了github的使用,首先去github官网注册个号,然后我们在自己本机终端上输入:ssh-keygen -t rsa -C "845723932@qq.com"
来创建一个ssh key(如果有了就不用了)注意后面的邮箱填你自己的邮箱,然后一路回车,就会提示已经创建成功,我们打开终端来
到根目录,输入:ls -a可以查看当前目录下的隐藏文件,可以发现有一个.ssh文件,打开,里面有id_rsa和id_rsa.pub两个文件,这两个
就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。登陆GitHub,
打开“Account settings”,“SSH Keys”页面,title随便写,将id_rsa.pub里面的内容复制到key文本框中,点add key就完成了ssh key的配置
下面是引用教程:
为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,
GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公
司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。最后友情提示,在GitHub
上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。如果你不想让别人看到Git库,有
两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,
搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。
github的作用就是可以将本地的git仓库关联到互联网上,通过push和pull指令可以完成同步更新,也支持直接克隆共享仓库,对于团体合
作完成项目很有帮助。首先在github上右上角选择“Create a new repo”按钮,创建一个新的仓库,Repository name处填写你要创建的git
仓库名字,就按教程上的填了learngit,其他的保持默认状态点击创建,一个git库就建好了,我们现在要做的就是将我们本地的库关联到
该库上,打开终端来到你要关联的git库目录下,输入:git remote add origin git@github.com:iunique/learngit.git,注意iunique是我的用
户名,把这个换成你的github上的id就好了,然后origin是远程库的名字,也可以换成其他的,然后用:git push -u origin master,由于远
程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本
地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。之后只要commit了更新了版本,
可以用:git push origin master来同步更新github上的git库。SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的
指纹信息是否真的来自GitHub的服务器,输入yes回车即可。
从github上克隆一个库也比较简单:git clone git@github.com:iunique/learngit.git注意用户名id要换,这样在当前目录下就会克隆一个刚刚创的learngit库。