Git上传文件到Github(最详细)

Git上传文件到Github(最详细)

大致步骤

  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-zg1kVPdL-1626577095172)(https://segmentfault.com/img/remote/1460000022863920)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1tqpeqXQ-1626577095175)(https://segmentfault.com/img/remote/1460000022863922)]

  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-rRdg8w6M-1626577095177)(https://segmentfault.com/img/remote/1460000022863917)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZUnZRl8E-1626577095179)(https://segmentfault.com/img/remote/1460000022863915)]

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

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

$ git status

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B1imtyEd-1626577095181)(https://segmentfault.com/img/remote/1460000022863918)]

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

通过命令:

$ git add README.md

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nBpc2L5R-1626577095182)(https://segmentfault.com/img/remote/1460000022863923)]

好了,发现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-7rF5UMVz-1626577095183)(https://segmentfault.com/img/remote/1460000022863916)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QZenkJmz-1626577095185)(https://segmentfault.com/img/remote/1460000022863919)]

这样,我们执行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-NGf2Mjtr-1626577095187)(https://segmentfault.com/img/remote/1460000022863921)]

  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-7ghKtL8g-1626577095188)(https://segmentfault.com/img/remote/1460000022863924)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MxJwO4pO-1626577095190)(https://segmentfault.com/img/remote/1460000022863928)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DXKpNK69-1626577095191)(https://segmentfault.com/img/remote/1460000022863925)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PaTwenSQ-1626577095192)(https://segmentfault.com/img/remote/1460000022863926)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JQ4VM0HR-1626577095193)(https://segmentfault.com/img/remote/1460000022863927)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iplN5Oql-1626577095194)(https://segmentfault.com/img/remote/1460000022863930)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qAA6EwNp-1626577095195)(https://segmentfault.com/img/remote/1460000022863929)]

  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-5eFmBKUd-1626577095197)(https://segmentfault.com/img/remote/1460000022863931)]

这时候再重新进入刚才在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就可以成功了。

  • 7
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值