8

大致步骤

  1. 本地仓库:

    a. git init 在本地创建一个Git仓库;

    b. git add . 将项目添加到暂存区;

    c. git commit -m "注释内容" 将项目提交到Git仓库;

  2. 远程仓库:

    a. 添加SSH KEY;

    b. 新建repositories;

  3. 本地仓库:

    a. git remote add origin git@github.com:UserName/projectName.git 将本地仓库与远程仓库关联;

    b. git push -u origin master 将本地项目推送到远程仓库。

详细步骤

  1. 进入需要上传的项目所在的文件夹,如图:

img

  1. 按住shift键+鼠标右键,打开Git bash(Git安装教程(windows)),如图所示:

img

  1. 设置用户信息(用户名,邮箱)。

此步骤一般时刚刚安装完Git后设置的,此【用户信息】是以后你每次 Git 的提交都会使用这些信息。在 Git 终端输入一下命令即可设置你的用户信息。

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

可以通过以下命令,查看当前的设置:

$ git config --list

如果已经设置,则跳过到下一步。

  1. 新建一个空的Git仓库(本地仓库)。

运行以下命令:

$ git init

可以看到Git已经把该路径变成一个Git仓库,所以之后不能再修改当前文件夹的名称,否则会有出错。

img

同时,当前目录新增了一个.git文件夹(如果没有看到,可能是window把它隐藏了),如图:

img

注意:此时的Git仓库还是一个空的仓库,即使当前已经有其他文件了,但是仅仅在本地而已。

可以以下命令,查看当前的状态

$ git status

img

  1. 将项目文件添加到本地仓库的暂存区(还没有真正添加到本地的Git仓库)

通过命令:

$ git add README.md

运行完上面的命令后,我们可以再通过git status查看当前的状态:

img

好了,发现README.md文件已经成功添加到。

如果需要把当前目录的所有文件都添加到暂存区的话,可以使用命令:

$ git add .

PS:add后面跟着一个空格,再跟一个点。

Q1:如果不小心把不需要的文件添加到暂存区,怎么撤回?

比如我不小心把依赖包文件夹node_modules(这个很大而且没必要git管理这份代码)add了,怎么撤回这个文件?

第一种方法:

$ git reset HEAD -- node_modules

注意:双杠--后面有一个空格,后面再跟文件名。

第二种方法:

$ git rm -r --cached node_modules

Q2:如果我一开始就不想add node_modules文件,那我应该怎么把除了node_modules的其他文件add?

Git提供了忽略文件.gitignore,当我们用git add .时,Git会自动排除.gitignore文件里匹配到的文件。

在当前文件夹新建一个后缀名为gitignore的文件,如图:

img

用记事本打开该文件,将node_modules填进去

img

这样,我们执行git add .就不会把node_modules文件包含进去。得劲。

  1. 将暂存区的文件提交到本地仓库。
$ git commit -m "这是提交时的注释"

-m后面跟的是本次提交的注释内容,一般是写本次提交或修改了什么,方便将来自己或他人查看。

  1. 本地创建SSH KEY。

由于本地Git仓库和Github仓库之间的传输是通过SSH加密的,所以连接时需要两边都有SSH KEY。

创建之前先看看你的电脑有没有创建过SSH KEY。先看一下你C盘用户目录下有没有.ssh目录,有的话里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建

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

然后一路回车。这时你就会在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件

img

  1. Github添加SSH KEY。

登录Github,找到右上角的图标,打开点进里面的Settings,再选中里面的SSH and GPG KEYS,点击右上角的New SSH key,然后Title里面随便填,再把刚才id_rsa.pub里面的内容全部复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。具体步骤也可看下面:

img

img

img

img

  1. 在Github上新建一个仓库。

img

img

创建好之后,就跳到这个界面:

img

  1. 将本地仓库和远程仓库关联。

在本地仓库执行:

$ git remote add origin git@github.com:BNK-ALONG/teach-design-platform.git

origin后面就是刚刚创建好的远程仓库的地址。

  1. 将本地仓库的东西推送到远程仓库。

刚刚我们只是将本地仓库和远程仓库进行了关联,但是两者的东西还没有同步,远程仓库还是空的。

通过以下命令:

$ git push -u origin master

由于新建的远程仓库是空的,所以要加上-u这个参数,等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需下面这样就可以了:

$ git push origin master

或者可以更简单的:

$ git push

当然,这样会默认推送到主支干master。

push完成之后:

img

这时候再重新进入刚才在Github新建的仓库,就可以看到本地仓库的项目已经上传成功了!大功告成🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉

至此,将本地的一个新项目上传到Github的全过程就完成啦。

补坑:

如果在第9步新建一个Github仓库时,选择了

Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README.md文件),那么在push的时候,会报错

error:failed to push some refs to  https://github.com/BNK-ALONG/teach-design-platform.git

这是因为新建的Github仓库的README.md文件不在本地仓库的目录中,这是问题其实在多人协作开发中是一定存在的,多个人共同关联一个远程仓库,在把你本地的修改上传(push)之前,要把别人的代码更新到自己的本地仓库,不然怎么达到协作开发呢?

将远程仓库最新的更新拉取到本地,并合并到主支干:

$ git pull --rebase origin master

这时再重新push就可以成功了。

参考:

  1. Git的使用--如何将本地项目上传到Github
  2. 阮一峰 Git 教程
  3. Git 基础概念

BNKalong
47 声望1 粉丝