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.分支操作