Git
Git是什么?
Git是现在世界上最先进的分布式版本控制系统,即为可以恢复到之前想使用的版本里面去
Git安装
linux上
yum -y install git
当然也可以使用源码安装
Windows
官网下载安装程序
找到git bash使用就行了
使用
git config --global user.name "你的github上的用户名"
git config --global user.email "email@example.com邮箱地址
因为你上传的时候需要你的名字和邮箱地址
创建仓库
创建空目录
就相当于是一个目录,这个目录里面的所有被Git管理起来,无论是删除,修改,还原
$ mkdir herogit
$ cd herogit
$ pwd
/Users/michael/herogit
使用git init 把这个目录变为Git管理的仓库
$ git init
Initialized empty Git repository in /Users/michael/herogit/.git/
.git是用来跟踪的,不要修改这个文件
将你所需要管理的文件放入herogit/这个目录下面去
$ git add ”文件名“
eg $ git add hero.txt
这样还没有上传上去,使用git commit提交到仓库
$ git commit -m "write a hero file"
[master (root-commit) eaadf4e] write a hero file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
-m 是对本次提交的说明
查询文件的当时状态,有修改的时候会有提示说明
$ git status
如果想要查看具体的修改内容可以使用
$ git diff readme.txt
版本回退
查看历史记录
$ git log
回退版本
$ git reset --hard HEAD^
代表回退到上一个版本,^上两个版本 10第十个
文件修改
git checkout – file 可以丢弃工作区的修改:
$ git checkout -- hero.txt
命令git checkout – hero.txt意思就是,把hero.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是hero.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是hero.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次 git commit或 git add 时的状态。
文件删除
$ git rm test.txt
$ git commit -m "remove test.txt"
远程仓库
- 创建SSH key
$ ssh-keygen -t rsa -C "邮件地址"
一直回车使用默认值
找到**.ssh目录cd过去里面有id_rsa和id_rsa.pub**两个文件
这个是SSH key的密钥一个私钥一个公钥
- 登陆Github 打开“Account settings”,“SSH Keys”页面
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:粘贴进去
- 登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:
$ git remote add origin git@github.com:michaelliao/hero.git
注意 michaelliao替换成你的Github名,你也可以在仓库里面找到ssh复制那个地址
- 将内容推到远程仓库
$ git push -u origin master
- 克隆本地库
$ git clone git@github.com:michaelliao/hero.git