廖雪峰git
常用命令
-
mkdir
-----创建文件夹 -
cd
----- 进入文件夹 -
pwd
----- 显示当前目录 -
cat
-----查看文件内容 -
git init
----- 初始化一个文件夹,把它变成Git可以管理的仓库 -
git add
-----把要提交的所有修改放到暂存区(Stage) -
git commit
-----把暂存区的所有修改提交到分支 -
git status
-----工作区的状态 -
git diff
------查看修改内容
$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
时光穿梭
版本回退
-
git log
-----显示从最近到最远的提交日志,也就是历史版本 -
git log --pretty=oneline
-----只显示版本号(较前一个命令方便阅读) -
git reset --hard HEAD^
-----回到上一个版本(上上一个版本就是HEAD^^ ,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100) -
git reset --hard
版本号 -----回到指定版本
回到了旧版本,又想回到最新版本怎么办?
-
git reflog
-----用来记录你的每一次命令(从中找到之前的版本号)
撤销修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令
git checkout -- file
。场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令
git reset HEAD file
,就回到了场景1,第二步按场景1操作。场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,版本回退,不过前提是没有推送到远程库。
删除文件
- 文件管理器中删掉文件后,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了,现在你有两个选择:
- 一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit
- 另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
$ git checkout -- 文件名
远程仓库
SSH配置
-
cd ~/.ssh
-----查看是否有ssh- 有,
ls
查看文件路径 ,re*
删除所有文件,再生成 - 没有(
No such file or directory
),输入ssh-keygen -t rsa -C xlayzheng@163.com
生成ssh
- 有,
- 将id_rsa.pub公钥复制到github的setting——>SSH and GPG keys——>new ssh——>key中
- GitHub允许你添加多个Key。假定你有若干电脑,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
先有了本地仓库想关联远程仓库
-
先在github创建一个远程仓库,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
- 从现在起,只要本地作了提交,就可以通过命令:
$ git push origin master
把本地master分支的最新修改推送至GitHub
先有了远程仓库想要在本地建一个镜像
- 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
- Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。