linux-git-03 git远程仓库

linux-git-03 git远程仓库

添加远程仓库

  Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。有一台机器有一个原始版本库,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。

步骤

1
2
3
4
1.注册Github账号
2.创建SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com"
3.登陆Github将id_rsa.pub文件的内容添加到SHH Key页面中

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

添加远程仓库

1.注册Github账号,官网:https://github.com

2.打开一台centos7的虚拟机,创建SSH Key,下面youremail@example.com这里可以填的你邮箱,然后直接敲三个回车即可,存放密钥用的是默认的文件夹,而且没有为密钥设置密码。

1
2
3
4
5
6
7
8
9
10
11
ssh-keygen -t rsa -C "youremail@example.com"



[root@localhost ~]# ls /root/.ssh/
id_rsa id_rsa.pub
[root@localhost ~]# cat /root/.ssh/id_rsa.pub

这里会显示公钥内容,把公钥复制下来

[root@localhost ~]#

3.登录github,如下图,将上面复制好的ssh key公钥添加到你的github中。(点击头像,settings下找到ssh keys)

1Edz0U.png

复制上去后,给密钥起个名字,例如我的是“myfirstkey”,然后点击Add SSH Key即可。

1EwS7F.png

添加完成

1EwCtJ.png

仓库的创建

1.先远程再本地(建议使用)

  最佳选择是先创建远程库然后克隆到本地,但是创建远程库的时候选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。

创建远程仓库:testgit

1EwA6x.png

点击进入,复制仓库链接:https://github.com/ZhongEagles/testgit.git

1EwZnK.png

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost ~]# git clone 你刚刚复制的仓库链接
正克隆到 'testgit'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
[root@localhost ~]# ls
anaconda-ks.cfg firstgit testgit
[root@localhost ~]# cd testgit/
[root@localhost testgit]# ls
README.md
[root@localhost testgit]#

然后你就可以在你的本地仓库进行开发了,例如我们写一个a.txt,然后同步到远程仓库。

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost testgit]# vim a.txt
[root@localhost testgit]# cat a.txt
hello my testgit!
[root@localhost testgit]#
[root@localhost testgit]# git add a.txt
[root@localhost testgit]# git commit -m "write a.txt"
[master 4e2168d] write a.txt
1 file changed, 1 insertion(+)
create mode 100644 a.txt
[root@localhost testgit]# git push -u origin master

-u是update的意思,master是主分支的意思,这里需要你输入github账户名密码。

到网页上刷新一下,可以看到你推送上来的a.txt已经在这个远程仓库里面了。

1EwZnK.png

2.先本地再远程(不建议使用)

继续我们上一篇文章中用到的本地仓库firstgit。

1
2
3
4
5
[root@localhost testgit]# cd ..
[root@localhost ~]# cd firstgit/
[root@localhost firstgit]# ls
1.txt readme.txt
[root@localhost firstgit]#

1)在远程也创建一个仓库:firstgit,同上;

2)现在我们需要把这个仓库与远程仓库进行关联,复制仓库链接;

1
2
3
4
[root@localhost firstgit]# git remote add origin https://github.com/ZhongEagles/firstgit.git
[root@localhost firstgit]# git push -u origin master

输入账号密码

刷新一下网页,可以看到推送上去的俩文件。

1EwKtH.png

总结

  • 根据提示信息:
    • 在命令行中创建新的仓库并关联
    • 在命令行中关联已经存在的仓库
    • git push命令:把当前分支master推送到远程
  • 从远程库克隆

  最佳选择是先创建远程库然后克隆到本地,但是创建远程库的时候选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。

其他

  github的pull requests是指在本地修改了别人的代码之后,请求别人的同意,别人同意就能同步,不同意就被驳回。

1Ewl9A.png

欢迎打赏,谢谢
------ 本文结束------
0%