Git版本控制

git安装

- 安装
  $ sudo apt-get install git
- 检测是否安装成功
  $ git --version

GIT操作 【本地仓库】

- 设置GIT
 $ git config --global user.email "[email protected]"
 $ git config --global user.name "name"

创建版本库

- 切换到需要添加版本控制的目录中
$ cd dir/
- 初始化本地仓库
$ git init

添加本地托管(暂存)文件

- 添加指定文件名的文件
  $ git add index.html  
- 添加通配符匹配的文件
  $ git add *.js
- 添加所有未托管的文件(忽略.gitignore清单中的列表)
  $ git add . 

$ git commit -m "提交代码对应的版本说明"
备注:
   自动创建的一个分支master

-对比差异

$ git diff filename   // 对比当前版本和存储在本地仓库中最后一个版本的差异

查看提交日志

$ git log
$ git log --pretty=oneline

版本回退

工作原理:
每当修改一个文件,并且使用commit提交之后,其实就相当于保存了一个快照

// 回退到上一版本
$ git reset --hard HEAD^

// 回退到上上版本
$ git reset --hard HEAD^^

// 回退到上100个版本
$ git reset --hard HEAD~100

// 指定版本回退
$ git reset - -hard xxxxxx    // xxx是对应版本的hash值前6位

// 重返未来(从上往下寻找第一个commit的操作,则是未来的最新的版本)
$ git reflog  // 查看历史执行过的git操作
$ git reset --hard xxx // 对应的hash值

-撤销操作

a.修改了文件内容,但是还没有添加到暂存区
$ git checkout  // 查看可撤销文件
$ git checkout  --  xxx  // 撤销对应文件,即回到最新版本

GIT操作 【远程仓库】

 - 关联远程仓库
 - 添加远程仓库并起名叫origin
 $ git remote add origin https://github.com/cxy/Git.git

- 查看现有的服务器列表  
$ git remote -v

推送本地仓库内容到远程仓库

$ git push -u origin master  // 提交到服务器中的master分支

拉取(获取)远程仓库内容到本地仓库
取回远程仓库的变化,并与本地分支合并。

$ git pull origin master    // 从master分支中获取代码

克隆(下载远程仓库)
从零开发,先有远程仓库,之后从远程仓库克隆。

// 将远程服务器中代码克隆一份到本地   
$ git clone https://github.com/userName/projectName test 
// 没有指定每次,默认即是仓库名
$ git clone https://github.com/userName/projectName

HTTPS和SSH认证方式

 HTTPS方式
- git remote add origin https://github.com/iphone3.test.git
- git push -u origin master 或 git pull origin master

【每次操作都需要输入账号密码】
与远程仓库交互时,可以是HTTPS和SSH方式两种,更多建议使用SSH方式,操作更加简单!

SSH方式(要进行了SSH认证)
- git remote add origin [email protected]:iphone3/test.gti
- git push -u origin master 或 git pull origin master

GitHub中SSH认证

创建 .ssh 目录
$ mkdir  ~/.ssh
切换到.ssh目录中
  $ cd  ~/.ssh
配置全局的name和email(如果已经设置,即忽略该操作,这是用于标示一个人)
$ git config --global user.name "zyz"  // 两个横杆,中间不需要空格
$ git config --global user.email "[email protected]"
生成key
$ ssh-keygen -t rsa -C "[email protected]"   // 与上面填写的邮箱与之对应
备注: 连续三次回车,密码是设置为空
复制.ssh目录中的id_rsa.pub文件内容,即是key (当前用户的目录下)
在github中添加key
  View profile and more -> settings -> SSH and GPG keys -> New SSH key

你可能感兴趣的:(Git版本控制)