git学习(1)将本地仓库与远程仓库建立联系,并上传项目到远程仓库

<1> 先在本地git中和github中分别创建一个仓库

a、创建本地仓库

b、创建远程仓库

<2>由于本地仓库与远程仓库的传输是通过SSH加密的,首先创建SSK KEY

a、本地是否已经设置过SSK,找到用户目录,检查有没有.ssh目录,再看这个目录下有没有id_rsa和id_rsa.pub这两个文件

git学习(1)将本地仓库与远程仓库建立联系,并上传项目到远程仓库_第1张图片

b、如果没有上述三个目录,可以在Windows目录下打开Git Bash,创建SSH KEY

首先配置git命令的环境变量:

git学习(1)将本地仓库与远程仓库建立联系,并上传项目到远程仓库_第2张图片

到目前为止:可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

<3>在github中注册刚刚生成的公钥, 让远程仓库可以识别上传资源的确实是本人

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

git学习(1)将本地仓库与远程仓库建立联系,并上传项目到远程仓库_第3张图片

将.ssh目录下的公钥的内容粘贴到github这个为止,注册一个SSH Key

<4>将本地库的master分支与远程库的master分支建立联系

目前,在GitHub上仓库还是空的,这时候可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。

$ git remote add origin [email protected]:michaelliao/learngit.git

a、首先检查本地库有没有已经关联的远程库,如果已经有了可以删除,或者可以重新建立一个,别重名

查询: git remote -v

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git remote -v
origin  https://github.com/wet5649/keepSmile.git (fetch)
origin  https://github.com/wet5649/keepSmile.git (push)

查询之后,发现已经关联了两个远程库,可以先删除这种关联。
删除:git remote remove origin

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git remote remove origin

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git remote -v

新建:git remote add origin 远程库的地址(可以使用https或者ssh的方式新建)

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git remote add origin  [email protected]:wet5649/tedu.git

<5>将本地库的内容推送到远程仓库上

a、在建立本地库后,首先需要将本地库文件夹下的文件都添加到本地库暂存区中

git add .

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git add .

git学习(1)将本地仓库与远程仓库建立联系,并上传项目到远程仓库_第4张图片

出现报错信息:在项目根目录下找到 .git 文件夹。找到文件夹里面的index.lock 文件,将其删除,即可解决问题。

重新执行命令:$ git add . //这个点就是代表目录下的全部文件

b、将本地暂存区的内容提交到本地库中

git commit -m "注释内容"

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git commit -m "第一次提交文件到远程库"
[master 5edfdb8] 第一次提交文件到远程库
 1 file changed, 1 deletion(-)
 delete mode 100644 helloGit.txt

c、将本地库的内容上传到远程库中

git push -u origin master 

000@WIN-5B0M5RN6I1I MINGW64 /e/Git_Repository (master)
$ git push -u origin master
Warning: Permanently added the RSA host key for IP address '192.30.253.113' to the list of known hosts.
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 4 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (7/7), 693 bytes | 693.00 KiB/s, done.
Total 7 (delta 0), reused 0 (delta 0)
To github.com:wet5649/tedu.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

git push命令,实际上是把当前分支master推送到远程;由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

git学习(1)将本地仓库与远程仓库建立联系,并上传项目到远程仓库_第5张图片

git学习(1)将本地仓库与远程仓库建立联系,并上传项目到远程仓库_第6张图片

可以看到本地的内容已经上传到了远程仓库中。

你可能感兴趣的:(版本控制工具)