【Git从入门到精通】系列课程03:一分钟让你成为开源的一分子/使用github托管我们的代码

Github是一个面向全球的代码托管平台,在开源代码托管领域它是Number One,各大公司如谷歌、微软、华为、阿里等都在github上由大量的开源项目,Linux内核的代码也托管在github上。

Github上有无数的开发者在为代码开源贡献着自己的力量,如果没有开源,我们的计算机时代不可能发展地这么好。所以学习git,我们理应加入github,利用git分布式的优势,加入到全球最大的开源社区,使用git向全世界展示我们自己写的伟大代码。

首先,我们需要注册一个github账号

  1. 打开github的官网https://github.com,如果打开很慢,请参考《github无法访问克隆不了项目下载失败没反映的解决方法》

    在这里插入图片描述

  2. 点击Sign up进入注册页面,根据提示信息,输入相关信息进行账号注册

    在这里插入图片描述

  3. 注册成功后我们就会进入github的个人主页

    在这里插入图片描述

  4. 点击那个绿色的"New"按钮,创建一个代码仓库(repository),这个仓库就是用来保存我们的代码的地方,也是向全世界展示我们的代码的地方。输入仓库名称,将"Add a README file"打上勾,最后点击Create Repository

    在这里插入图片描述

  5. 仓库创建成功后,我们就可以看到我们的刚创建的项目了

    在这里插入图片描述

在本机生成SSH公私密钥对,用于免密登陆到Github

  1. 打开终端

  2. 在终端安装openssh-client,如已安装请忽略

    jagitch@1438a383552c:~$ sudo apt install openssh-client -y
    
  3. 使用ssh-keygen生成公私密钥对,遇到提示直接回车使用默认值即可

    jagitch@1438a383552c:~$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/jagitch/.ssh/id_rsa): 
    Created directory '/home/jagitch/.ssh'.
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /home/jagitch/.ssh/id_rsa
    Your public key has been saved in /home/jagitch/.ssh/id_rsa.pub
    The key fingerprint is:
    SHA256:0V1gxMYWuOl3vPLKrZVtUbtMRApCAQKbBljV+m9E5nI jagitch@1438a383552c
    The key's randomart image is:
    +---[RSA 3072]----+
    |.o.ooo .o+.*=o.. |
    |. . o o  .oo*.o  |
    |   + .  . .=.. ..|
    |  . .   o.o   . o|
    |     . +S.   . + |
    |      o E . . =oo|
    |       =   . .o+o|
    |        o  ..o.. |
    |       .    +=o  |
    +----[SHA256]-----+
    
  4. 此时,在~/.ssh目录下就会有以下文件

    jagitch@1438a383552c:~$ tree ~/.ssh
    /home/jagitch/.ssh
    ├── id_rsa
    └── id_rsa.pub
    
    1 directory, 2 files
    

    tree是一个输出文件夹层次结构的命令,如果命令不存在,使用sudo apt install tree -y安装即可
    id_rsa是私钥文件,需要妥善保存,千万不能泄漏
    id_rsa.pub是公钥文件
    公钥可以将它比做账号名,私钥文件相当与密码,使用免密登陆时将公钥设置到第三方平台,然后就可以在本机通过ssh免密登陆到第三方平台了。所以私钥文件千万不能丢失,否则别人就能使用你的私钥文件登陆你在第三方平台的账号了。

  5. 将id_rsa.pub的内容,复制下来

    jagitch@1438a383552c:~$ cat ~/.ssh/id_rsa.pub
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCwSstanbpcvzitFK39mC8mURVOAOe0GDEyC56i3uqj+jbY6ptsPogSbiItkSWqLhvIQyeu3psmEBxZtUuc9I+f2buNMEBniBhimNSX/xxyhBhVTohLic47Vq7qeBUUEoDRUtIQ3m7g39dX85bQdGPXOyMBFNcol4YSfGzjwj54oql1pxamveAzZsuCbO0SGqSK12Hab2MD1+znffR3+l1cH8ByTf7FhU9bxuf8EQYQnR/TZpxDItwkD3/tLDBkZI2EkQ8Ynb+vXZ1mLh9gNHxwmXHy0KvyGegIabzXdmbIfn4zt27lJF/l3DtLGhnpc126NuFqufUXwNrVZKULW9coR3dOFcSgR4l/SThiVS4teMRibTskJw8RoK0OW3CdHqTlRDdXSsnS+1MxPlC/dFkXMruxPSma/NFxX3rr4mP3SkGuyMVqZ7k4iBykwvf4J7+FPT5N4CKWpG/5nAOs6uzl9xwP7Qmge0JxyEGj9qplVZsMHy9DawRdARBr1NCG+rU= jagitch@1438a383552c
    

在github中配置SSH公钥

  1. 点击头像,打开github的设置页面,点击右侧的SSH and GPG Keys

    在这里插入图片描述

  2. 点击绿色的New SSH Key,打开新建SSH界面,输入Title和将上个步骤复制的id_rsa.pub的内容复制粘贴到Key文本框,然后点击绿色的Add SSH key,如果跳转到github Two-factor authentication界面,则参考《超级详细的Github双重验证开启教程&github Two-factor authentication》配置github双重验证。

    在这里插入图片描述

克隆仓库到本地

将过上面的设置,此时我们就可以把我们在github上创建的hello-world仓库克隆到本地进行开发了。

  1. 在github中打开我们的仓库

    在这里插入图片描述

  2. 点击绿色的Code按钮,点击SSH,复制文本框中的内容

    在这里插入图片描述

  3. 在本机打开终端,切换到我们保存代码的路径

    jagitch@1438a383552c:~$ mkdir code
    jagitch@1438a383552c:~$ cd code
    
  4. 使用git clone加上粘贴我们第2步复制的内容执行,此时将会把github中的远程项目克隆到本地了

    jagitch@1438a383552c:code$ git clone git@github.com:jagitch/hello-world.git
    Cloning into 'hello-world'...
    The authenticity of host 'github.com (20.205.243.166)' can't be established.
    ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
    This key is not known by any other names.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
    remote: Enumerating objects: 3, done.
    remote: Counting objects: 100% (3/3), done.
    remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
    Receiving objects: 100% (3/3), done.
    

最后,让我们开发一个伟大的程序,然后公布到全世界

  1. 进入项目文件夹

    jagitch@1438a383552c:code$ cd hello-world
    
  2. 编写程序

    jagitch@1438a383552c:hello-world$ echo "这是一个伟大的程序的开端" >> README.md
    
  3. 提交

    jagitch@1438a383552c:hello-world$ git commit -m "伟大的程序的开端"
    [main b30b4cb] 伟大的程序的开端
     1 file changed, 1 insertion(+), 1 deletion(-)
    
  4. 将代码推送到github远程仓库中

    jagitch@1438a383552c:hello-world$ git pull
    Already up to date.
    jagitch@1438a383552c:hello-world$ git push
    Enumerating objects: 5, done.
    Counting objects: 100% (5/5), done.
    Delta compression using up to 16 threads
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 315 bytes | 315.00 KiB/s, done.
    Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
    To github.com:jagitch/hello-world.git
       3f975a8..b30b4cb  main -> main
    

    每次推送代码之前,先使用git pull这是个好习惯

总结

经过一番勤劳的操作,我们终于成为了开源世界的一员,以后我们就可以将自己编写的很有趣很有用的代码开源分享出来,为开源奉献自己的一份力。

推荐阅读

1. 【Go零基础系列】002:第一个Go程序
2. 【Git从入门到精通】系列课程02:从0开始为项目使用git进行版本控制
3. 教你如何1秒安装一个Linux系统(ubuntu,debian,centos) 比虚拟机安装系统省时省心省力

  • 17
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gopyer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值