Clement

如果丢掉盔甲,我依然是骄傲帅气的骑士。

  • 菜单
  • 标签
  • 友情链接
  • 关于我
  • 擅长前端各项技能,喜欢折腾新技术,对JavaScript/Html/CSS相关客户端、服务端(Java/Node.js)以及数据库(MYSQL/SQLServer)知识很感兴趣。

    GitHub配置与使用总结(持续更新)

    1.什么是GitHub

    GitHub是为开发者提供Git仓库的托管服务。这是一个让开发者与朋友、同事、同学及陌生人共享代码的完美场所。

    2.GitHub与Git的关系

    GitHub与Git是完全不同的两个东西。在Git中,开发者将源代码存入名叫”Git仓库“的资料库中并加以使用。而GitHub则是在网络上提供Git仓库的一项服务。也就是说,GitHub上公开的软件源代码全都 由Git进行管理。理解Git是熟练运用GitHub的关键所在。

    3.使用GitHub,必须要安装Git

    由于在Windwos环境中并没有默认安装Git,所以需要到git官网下载安装。而最近的osx系统都是默认预装了Git,可以直接在终端使用。安装完之后,接下来对Git进行设置。

    4.Git初始设置

    4.1设置姓名和邮箱地址,这里设置的姓名和邮箱地址在你每次向git仓库提交数据时都会附加在Git提交的日志中,可以通过日志查询到哪个人向仓库中提供了最新记录。

    1
    2
    3
    zhoujianwendeMacBook-Air:github zhoujianwen.cn$ git config --global user.name 'zhoujianwen'
    zhoujianwendeMacBook-Air:github zhoujianwen.cn$ git config --global user.email 'zhou_jianwen@qq.com'
    zhoujianwendeMacBook-Air:github zhoujianwen.cn$

    当然,user.name可以设置你的真名或昵称都可以,user.email最好是github帐号的注册邮箱,重复以上步骤会将原来的填写的信息刷写。
    为了提高命令输出的可读生,可以输入

    1
    zhoujianwendeMacBook-Air:github zhoujianwen.cn$ git config --global color.ui auto

    这样一来,各种命令的输出就会变得更容易分辨。

    5.设置SSH Key

    GitHub上连接已有仓库时的认证,是通过使用了SSH的公开密钥认证方式进行的。现在让我们来创建公开密钥认证所需的SSH Key,并将其添加至GitHub。已经创建过的同学,请用现有的密钥进行设置。

    1
    2
    3
    ssh-keygen -t rsa -C "your_email@example.com"
    回车之后输入密码
    回车之后再次输入确认密码

    “your_email@example.com”是你github的注册帐号。
    设置SSH成功之后就会分别生成id_rsa和id_rsa.pub这两个文件。
    其中id_rsa是私有密钥,id_rsa.pub是公开密钥。
    然后将id_rsa.pub公开密钥的内容添加到GitHub->Setting->SSH and GPG keys中,添加成功之后,创建github账户时所用的邮箱会接到一封“公开密钥添加完成”的邮件。
    完成以上设置后,就可以用手中的私人密钥与GitHub进行认证和通信了。
    输入以下命令进行通信测试

    1
    ssh -T git@github.com

    然后输入之前设置私人密钥的密码进行认证就可以了。

    ###本地仓库与远程仓库的关系
    在本地仓库还没有与远程仓库产生关联(绑定)在一起的时候,本地仓库所有的操作都是只对本地仓库产生影响,并不会同步到github上的远程仓库。

    1、如何创建本地仓库
    Git是使用git init命令对实际建立的文件目录进行本地仓库初始化。

    1
    2
    3
    mkdir git-tutorial
    cd git-tutorial
    git init

    初始化成功之后,执行了git init命令的目录下就会生成.git目录。这个.git目录里存储着管理当前目录内容所需的仓库数据。
    然后就可以在本地仓库上添加文件,我往刚才创建git-tutorial文件夹下添加22222.jpg,添加完之后可以执行git status命令查看仓库状态。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    On branch master
    Initial commit
    nothing to commit (create/copy files and use "git add" to track)
    zhoujianwendeMacBook-Air:git-tutorial zhoujianwen.cn$ git status
    On branch master
    Initial commit
    Untracked files:
    (use "git add <file>..." to include in what will be committed)
    22222.jpg
    nothing added to commit but untracked files present (use "git add" to track)

    虽然刚才往本地仓库添加了一个文件,但是该文件并不会被记入Git仓库的版本管理对象当中。要想让文件成为Git仓库的管理对象,就需要用git add命令将其加入暂存区,暂存区是一个临时区域。如果你添加了N个文件,你可以使用git add –all将所有添加文件都加入暂存区。

    1
    2
    git add --all
    git status

    此时git status命令显示结果发生了变化。现在根据提示需要用git commit命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。通过这些记录,我们就可以在工作树中复原文件。

    1
    git commit -m "first commit"

    -m参数后的”first commit”称作提交信息,是对这个提交的概述。每次往本地仓库提交数据时,都必需重复以上操作git add –all和git commit -m “概述内容”
    git log 查看提交日志信息,你每次git commit之后,都会被git日志记录,你可以通过git log查询commit生成序列号,可以通过这串序列号来将本地仓库回溯到之前版本。
    git diff HEAD 查看更改前后的差别,另外按command+t可以快速新建终端窗口。

    6.分支操作

    刚才创建的本地仓库默认只有一个分支 —— master
    git branch 显示分支一览表
    如果想以当前的master分支为基础创建新的分支,我们需要用到
    git checkout -b ‘分支名称’ ,它的作用相当于创建新分支并将当前master分支切换到新分支中。

    1
    2
    3
    4
    5
    6
    zhoujianwendeMacBook-Air:git-tutorial zhoujianwen.cn$ git checkout -b 'feature-A'
    Switched to a new branch 'feature-A'
    zhoujianwendeMacBook-Air:git-tutorial zhoujianwen.cn$ git branch
    * feature-A
    master
    zhoujianwendeMacBook-Air:git-tutorial zhoujianwen.cn$

    git checkout -b ‘分支名称’ 等同于
    git branch ‘分支名称’ 创建分支
    git checkout ‘分支名称’ 切换分支

    切换feature-A分支成功之后,你可以继续往本地仓库提交数据,feature-A分支所在本地仓库上所有操作更改都不会影响到master支支,这正是在开发中创建分支的优点。只要创建多个分支,就可以在不互相影响的情况下同时进行多个功能的开发。

    切换回上一个分支可以git checkout - ,也可以git checkout ‘master’

    文章目录
    1. 1. 1.什么是GitHub
    2. 2. 2.GitHub与Git的关系
    3. 3. 3.使用GitHub,必须要安装Git
    4. 4. 4.Git初始设置
    5. 5. 5.设置SSH Key
    6. 6. 6.分支操作
  • 拉格朗日中值定理学习笔记
  • 罗尔定理学习笔记
  • 零点定理学习笔记
  • JavaScript创建对象之理解原型对象(笔记4)
  • JavaScript创建对象之理解原型对象(笔记3)
  • JavaScript创建对象之构造函数模式(笔记2)
  • JavaScript创建对象之工厂模式(笔记1)
  • ECMAScript属性类型
  • 各大互联网公司前端笔试面试题–JavaScript篇(持续更新)
  • Web异步交互技术之iframe
  • html页头设置不缓存
  • GitHub配置与使用总结(持续更新)
  • 七牛的qrsbox命令行工具使用 for osx
  • VirtualBox在OSX下无法识别U盘,提示Failed to create a proxy device for the USB device. (Error: VERR_PDM_NO_USB_PORTS).
  • sublime基本介绍和使用技巧(持续更新)
  • 第一次和大家见面
  • 数据迁移中,敬请期待!
  • css+div解决文字溢出控制显示字数
  • js的defer属性对dom加载的影响
  • Web前端开发学习教程