Github被微软收购后,今年重大的更新就是个人开发者可以免费的创建私人仓库并且无限制。但是个人仓库最多可以邀请三个人协和开发。这个对于小型项目来说应该足够了。我准备将自己学习时使用的代码上传到GITHUB。方便自己在任何地方都可以随时查阅。

1.创建远程仓库

首先在github 上创建个人的私人仓库,登陆github,点击右上方“+”号,选择“New repository”,输入仓库名,在Repository name 中输入你想创建的仓库名称就行,然后选择私有仓库,点击创建即可。

下图是我创建好的仓库

可以看到在我的仓库名称那可以看到private

2.创建本地仓库

因为我是在windows上操作的。这里只记录在windows上的操作。linux和mac系统的都是类似的步骤。
– 2.1 下载github的客户端,然后安装。我都是默认安装的
– 2.2 安装完成后,在开始菜单->所有程序,就会找到git Bash
打开git Bash,蹦出一个类似cmd窗口的东西,就说明git安装成功

安装完成后,要告诉git你的用户名和邮箱,输入以下命令
git config --global user.name "your name"
git config --global user.email "your@email.com"
这里的 “”里面的要换成你自己的名字和email
– 2.3 安装 Git 之后,就可以在我们自己的电脑上来创建本地仓库了。仓库(Repository)可以简单理解为一个目录,每个目录包含着一个仓库。首先,我们可以在自己电脑的任意位置新建一个文件夹(例如 E: Git/ 目录),该目录作为 Git 的管理目录,所有的仓库都将建立在此目录下。在此目录下,我们要建立一个仓库,名为 learngit。打开 Git Bash,cd 到 Git/ 目录下,新建一个目录 learngit,再 cd 到 learngit 目录,命令如下:
mkdir learngit
cd learngit
然后,使用下面的命令将 learngit 目录变成 Git 可以管理的仓库:
git init
运行该命令之后,就可以在 learngit 目录下生成一个 .git 隐藏文件夹,表示初始化成功,该目录已经可以被 Git 管理了。现在 learngit 就称为我们的git仓库了。
现在,我们已经创建了一个空的仓库 learngit,下一步往仓库里加点内容。例如在该仓库目录下新建一个 readme.md 文件。将该文件添加到仓库中需要两个步骤:
– 2.3.1.用命令 git add 告诉git。把文件添加到仓库:
git add readme.md
– 2.3.2.用命令 git commit 告诉git,把文件提交到仓库
git commit -m "create readme file"
其中 -m 后面是本次提交的说明,最好说明是有意义的,这样你就能从历史记录里面方便找到你更改的历史。

3.将本地仓库关联到远程仓库

这时候,你的本地 Git 仓库与 GitHub 远程仓库还没有办法传输的,由于使用的是 SSH 加密,需要进行以下设置。
– 3.1 创建SSH Key,在用户主目录下面,看看有没有.ssh。如果有,再看看这个目录下有没有 id_rsa 和 id_rsa.pub 这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开终端(Windows 下打开 Git Bash),创建 SSH Key
ssh-kengen -t rsa -C "youremail@mail.com" 一直回车就OK
这里记录下,这个会在你主用户目录下创建一个.ssh 的隐藏目录。比如我的电脑用户名是DIY-PC,那么这个隐藏目录就在C:\Users\DIY\ 下面,记得看你上面的目录是在哪个目录执行的。记得打开显示隐藏目录。然后就找到了。
– 3.2 登录自己的 GitHub,点击页面右上角 Settings 选项。

点击SSH and GPG keys:

点击 New SSH key 后,输入 Title 和 Key。重点来了,Key 就是你电脑的 id_rsa.pub 里的内容,直接复制过来就好

点击 Add SSH key,就完成了 SSH 的配置。之所以要设置 SSH key,是为了识别出你推送的确实是你推送的,而不是别人冒充的,而 Git 支持 SSH 协议,所以,GitHub 只要知道了你的公钥,就可以确认只有你自己才能推送。如果你有两个电脑,比如公司一个,家里一个。那么可以把两台电脑的公钥都添加到你的 GitHub,这样就都可以实现推送了。

4.将本地上传的GitHub

  • 4.1 其实,本地 Git 仓库与 GitHub 的互连有两种形式,我们首先介绍第一种方式:从本地上传到 GitHub。
    刚才我们已经在github创建了一个私人仓库,点开我们的仓库,点击Clone or Download 复制下git的地址,如下图:

    • 4.2 回到我们的 Git Bash 界面,把本地 Git 库与刚刚建的远程仓库关联,输入下列命令
      git remote add origin https://github.com/yourname/learngit.git
      origin 是你刚才复制的地址,这条命令是添加一个远程仓库
    • 4.3下一步就是把本地仓库的所有文件(刚刚新建的 readme.md)上传到 GitHub 上。运行以下命令:
      git push -u origin master
      运行命令之后,出现如下提示:

      这里要输入yes 不能直接回车的
      然后在push 你可能会遇到push 不上去的错误,这是因为我们远程仓库和本地仓库不一致的原因,解决办法这里贴个博客,自己看https://gitbook.tw/chapters/github/fail-to-push.html
      先将远程仓库和本地合并,如果你在合并的时候出现“fatal: refusing to merge unrelated histories”。这里的解决办法是http://isroot.cn/work/jiejuegitzhongfatalrefusingtomergeunrelatedhistories/
      然后就可以push 了,执行 git push -u origin master
      将我们本地的文件就可以推到自己的仓库里面了。推完后我的github仓库已经出现了本地的代码。

发表评论

电子邮件地址不会被公开。 必填项已用*标注