常用Git命令手册
sudo apt-get install git
Window:到Git官网下载安装:https://git-scm.com/downloads
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
git init
git add <file>
提示:可反复多次使用,添加多个文件;
git commit
然后会弹出一个Vim编辑器输入本次提交的内容;
或者
git commit -m "提交说明"
git status
$ git diff <file>
git log
或者加上参数查看就比较清晰了
$ git log --pretty=oneline
$ git reset --hard HEAD^
说明:在Git中,用HEAD表示当前版本,上一个版本就是HEAD,上上一个版本就是HEAD,以此类推,如果需要回退几十个版本,写几十个容易数不过来,所以可以写,例如回退30个版本为:HEAD~30。
如果你回退完版本又后悔了,想回来,一般情况下是回不来的,但是如果你可以找到你之前的commit id的话,也是可以的,使用如下即可:
$ git reset --hard + commit id
提示:commit id不需要写全,Git会自动查找;
补充说明:Git中,commit id是一个使用SHA1计算出来的一个非常大的数字,用十六进制表示,你提交时看到的一大串类似3628164…882e1e0的就是commit id(版本号);
在Git中,版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向回退的版本,然后顺便刷新工作区文件;
$ git reflog
结果会将你之前的操作的commit id和具体的操作类型及相关的信息打印出来,这个命令还有一个作用就是,当你过了几天,你想回退之前的某次提交,但是你不知道commit id了,通过这个你可查找出commit id,就可以轻松回退了,用一句话总结:穿越未来,回到过去,so easy!
git diff HEAD -- <file>
说明:查看工作区和版本库里面最新版本文件的区别,也可以不加HEAD参数;
$ git checkout -- <file>
说明:适用于工作区修改没有add的文件
$ git reset HEAD <file>
说明:适用于暂存区已经add的文件,注意执行完此命令,他会将暂存区的修改放回到工作区中,如果要想工作区的修改也丢弃,就执行第12条命令即可;
$ rm <file>
然后提交即可;
如果不小心删错了,如果还没有提交的话使用下面命令即可恢复删除,注意的是它只能恢复最近版本提交的修改,你工作区的修改是不能被恢复的!
$ git checkout -- <file>
$ ssh-keygen -t rsa -C "youremail@example.com"
一般本地Git仓库和远程Git仓库之间的传输是通过SSH加密的,所以我们可以将其生成的公钥添加到Git服务端的设置中即可,这样Git就可以知道是你提交的了;
$ git remote add origin git@github.com:xinpengfei520/IM.git
删除本地库与远程库的关联:
$ git remote rm origin
作用:有时候我们需要关联其他远程库,需要先删除旧的关联,再添加新的关联,因为如果你已经关联过了就不能在关联了,不过想关联多个远程库也是可以的,前提是你的本地库没有关联任何远程库,操作如下:
先关联Github远程库:
$ git remote add github git@github.com:xinpengfei520/IM.git
接着关联码云远程库:
$ git remote add gitee git@gitee.com:xinpengfei521/IM.git
现在,我们用git remote -v查看远程库的关联信息,如果看到两组关联信息就说明关联成功了;
ok,现在我们的本地库可以和多个远程库协作了
如果要推送到GitHub,使用命令:
$ git push github master
如果要推送到码云,使用命令:
$ git push gitee master
$ git push -u origin master
注意:第一次提交需要加一个参数-u,以后不需要
$ git clone git@github.com:xinpengfei520/IM.git