大致步骤
- 本地仓库:
a.
git init
在本地创建一个Git仓库;b.
git add .
将项目添加到暂存区;c.
git commit -m "注释内容"
将项目提交到Git仓库; - 远程仓库:
a. 添加SSH KEY;
b. 新建repositories;
- 本地仓库:
a.
git remote add origin git@github.com:UserName/projectName.git
将本地仓库与远程仓库关联;b.
git push -u origin master
将本地项目推送到远程仓库。
详细步骤
- 进入需要上传的项目所在的文件夹,如图:
- 按住shift键+鼠标右键,打开Git bash(Git安装教程(windows)),如图所示:
- 设置用户信息(用户名,邮箱)。
此步骤一般时刚刚安装完Git后设置的,此【用户信息】是以后你每次 Git 的提交都会使用这些信息。在 Git 终端输入一下命令即可设置你的用户信息。
$ git config --global user.name "name"
$ git config --global user.email "email@example.com"
可以通过以下命令,查看当前的设置:
$ git config --list
如果已经设置,则跳过到下一步。
- 新建一个空的Git仓库(本地仓库)。
运行以下命令:
$ git init
可以看到Git已经把该路径变成一个Git仓库,所以之后不能再修改当前文件夹的名称,否则会有出错。
同时,当前目录新增了一个.git文件夹(如果没有看到,可能是window把它隐藏了),如图:
注意:此时的Git仓库还是一个空的仓库,即使当前已经有其他文件了,但是仅仅在本地而已。
可以以下命令,查看当前的状态
$ git status
- 将项目文件添加到本地仓库的暂存区(还没有真正添加到本地的Git仓库)
通过命令:
$ git add README.md
运行完上面的命令后,我们可以再通过git status查看当前的状态:
好了,发现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的文件,如图:
用记事本打开该文件,将node_modules填进去
这样,我们执行git add .就不会把node_modules文件包含进去。得劲。
- 将暂存区的文件提交到本地仓库。
$ git commit -m "这是提交时的注释"
-m后面跟的是本次提交的注释内容,一般是写本次提交或修改了什么,方便将来自己或他人查看。
- 本地创建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这两个文件
- Github添加SSH KEY。
登录Github,找到右上角的图标,打开点进里面的Settings,再选中里面的SSH and GPG KEYS,点击右上角的New SSH key,然后Title里面随便填,再把刚才id_rsa.pub里面的内容全部复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。具体步骤也可看下面:
- 在Github上新建一个仓库。
创建好之后,就跳到这个界面:
- 将本地仓库和远程仓库关联。
在本地仓库执行:
$ git remote add origin git@github.com:BNK-ALONG/teach-design-platform.git
origin后面就是刚刚创建好的远程仓库的地址。
- 将本地仓库的东西推送到远程仓库。
刚刚我们只是将本地仓库和远程仓库进行了关联,但是两者的东西还没有同步,远程仓库还是空的。
通过以下命令:
$ git push -u origin master
由于新建的远程仓库是空的,所以要加上-u这个参数,等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需下面这样就可以了:
$ git push origin master
或者可以更简单的:
$ git push
当然,这样会默认推送到主支干master。
push完成之后:
这时候再重新进入刚才在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就可以成功了。
参考:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。