将Laravel代码上传到 GitHub 上

1 . 注册 GitHub 账号(账号需要邮箱激活)

如果你还没有 GitHub 账号的话,请先注册。

2 .在终端生成SSH key(以 laragon 为例),出于安全考虑,Github 服务器和我们本地的通讯要求使用 SSH Key 来验证

(1).首先你要检测自己电脑是否存在 SSH key,在终端输入:

$ bash

进入目录C:UsersAdministrator

$ cd /c/Users/Administrator
$ ls -al ~/.ssh

如果已经存在的话,则会显示有 id_rsa 和 id_rsa.pub,否则没有SSH key

(2).生成 SSH key,在终端输入:(邮箱为你在github上面注册的邮箱)

$ ssh-keygen -t rsa -C "xiaomei@gmail.com"

提示要输入路径和密码,直接 Enter 就好

再次查看 key 生成好了

$ ls -al ~/.ssh

(3).将生成的 key 添加到 SSH 中,在终端输入:

注意:需要在 .ssh 目录下执行命令,

目录一般是(C:UsersAdministrator.ssh)

$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/id_rsa

成功后,中选显示:

Identity added: /c/Users/Administrator/.ssh/id_rsa (/c/Users/Administrator/.ssh/id_rsa)
最后会在 /Users/xxx/.ssh/ 生成两个文件,id_rsa和id_rsa.pub,这样 SSH key 就已经生成成功了

(4).添加 SSH key 到Github 上,终端输入:

cat ~/.ssh/id_rsa.pub

将 SSH key 添加到 GitHub 账号,先打开 Github SSH 令牌管理页面,然后把你刚刚复制的 ssh公钥代码 按照下图示例添加:

(5).如何检测 SSH key,终端输入:

ssh git@github.com

第一次向Github连接的时候会提示你是否连接,输入 yes 即可。

Are you sure you want to continue connecting (yes/no)? yes

4 . Git 的基本设置

(1)首先我们对 Git 进行用户名和邮箱进行设置,请参照下面格式,替换为你自己常用的用户名和邮箱来完成设置(用户名和邮箱与GitHub 账号对应):

$ git config --global user.name "Your Name" 
$ git config --global user.email your@example.com

(2)接下来设置 Git 推送分支时相关配置:

此设置是 Git 命令 push 的默认模式为 simple,当我们执行 git push 没有指定分支时,自动使用当前分支,而不是报错。

$ git config --global push.default simple

5 . Git 初体验

(1)对 Git 进行初始化(注意要在项目根目录执行这个命令):

$ git init

(2)将项目所有文件纳入到 Git 中,保存到本地暂存区:

$ git add -A

我们可以通过在 .gitignore 文件中进行设置,来选择忽略掉一些我们不想纳入到 Git 版本管理中的文件(如缓存文件)。因此上面描述的『所有文件』指的是没在 .gitignore 中被忽略的文件。

(3)检查 Git 状态:

$ git status

上面命令将会向你输出存放在 Git 暂存区的文件,这意味着这些文件还未真正提交到 Git 中。

(4)输入描述信息并提交到本地的 Git:

$ git commit -m "Initial commit"

上面这行命令会将暂存区的文件都提交到 Git,-m 选项后面带的参数表示本次提交的简单描述。

6 . 新建一个 GitHub 仓库

在配置完后,我们便可以开始在上面存放项目代码了。首先 新建一个 GitHub 仓库,取名为 hello_laravel,填上 Description 项目描述,Initialize this repository with a README 这一项无需勾选,因为 Laravel 已默认帮我们创建好了 readme.md 文件。

7 . 创建完成之后,使用以下命令将代码上传到 GitHub 上(将 your_username 替换为你自己的 GitHub 用户名):

① 进入项目更目录,执行命令:

$ git remote add origin git@github.com:your_username/hello_laravel.git

② 推送到远程仓库

$ git push -u origin master
提示到这里如果报错:

执行git remote set-url命令来修改remote URL
执行git remote -v发现有其它的远程分支

执行 git push -u origin master

原因:两人同时fetch了一个分支。 第一个人修改后提交,第二个人提交就失败。
解决方法:
1.强制推送

$ git push -f 

可以提交,会将remote上第一个人的改动冲掉,比较暴力,不太好。

2.正常解决:
git fetch origin 然后git merge origin/master, 和本地分支合并, 之后再push。

最后在执行 git push -f origin master这样就上传了


注意:第一次向Github托管代码的时候会提示你是否连接,输入 yes 即可。

Are you sure you want to continue connecting (yes/no)? yes

====================版本二=========================================

在 github 上添加 SSH key 的步骤:

1、首先需要检查你电脑是否已经有 SSH key

运行 git Bash 客户端,输入如下代码:

$ cd ~/.ssh
$ ls

这两个命令就是检查是否已经存在 id_rsa.pub 或 id_dsa.pub 文件,如果文件已经存在,那么你可以跳过步骤2,直接进入步骤3。

2、创建一个 SSH key

$ ssh-keygen -t rsa -C "your_email@example.com"

代码参数含义:

-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。

以上代码省略了 -f 参数,因此,运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的 SSH key 代码,如:

Generating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

当然,你也可以不输入文件名,使用默认文件名(推荐),那么就会生成 id_rsa 和 id_rsa.pub 两个秘钥文件。

接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码),

当然,你也可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到github上了,如:

Enter passphrase (empty for no passphrase): 
# Enter same passphrase again:

接下来,就会显示如下代码提示,如:

Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

当你看到上面这段代码的收,那就说明,你的 SSH key 已经创建成功,你只需要添加到github的SSH key上就可以了。

3、添加你的 SSH key 到 github上面去

a、首先你需要拷贝 id_rsa.pub 文件的内容,你可以用编辑器打开文件复制,也可以用git命令复制该文件的内容,如:

$ clip < ~/.ssh/id_rsa.pub

b、登录你的github账号,从又上角的设置( Account Settings )进入,然后点击菜单栏的 SSH key 进入页面添加 SSH key。

c、点击 Add SSH key 按钮添加一个 SSH key 。把你复制的 SSH key 代码粘贴到 key 所对应的输入框中,记得 SSH key 代码的前后不要留有空格或者回车。当然,上面的 Title 所对应的输入框你也可以输入一个该 SSH key 显示在 github 上的一个别名。默认的会使用你的邮件名称。

4、测试一下该SSH key

在git Bash 中输入以下代码

$ ssh -T git@github.com

当你输入以上代码时,会有一段警告代码,如:

The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?

这是正常的,你输入 yes 回车既可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:

Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':

当然如果你密码输错了,会再要求你输入,知道对了为止。

注意:输入密码时如果输错一个字就会不正确,使用删除键是无法更正的。

密码正确后你会看到下面这段话,如:

Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.

如果用户名是正确的,你已经成功设置SSH密钥。如果你看到 “access denied” ,者表示拒绝访问,那么你就需要使用 https 去访问,而不是 SSH 。

阅读 157

Comments