【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流

在这里插入图片描述

⌚️⌚️⌚️个人格言:时间是亳不留情的,它真使人在自己制造的镜子里照见自己的真相!
Git专栏:Git篇
JavaScript专栏:js实用技巧篇,该专栏持续更新中,目的是给大家分享一些常用实用技巧,同时巩固自己的基础,共同进步,欢迎前来交流
你的一键三连是对我的最大支持 ❤️

文章目录

  • ✅前言
  • ⭕️内容
    • GitHub
    • SSH Key
    • Repository的克隆和推送
    • 可视化工具(Sourcetree)
    • git工作流(git-flow)
  • 总结

✅前言

❗️❗️❗️【Git|GitHub|SSH|Sourcetree 上篇】带大家熟悉了git的环境搭建以及其核心概念等等,本篇将介绍GitHub远程仓库部署SSH公钥配对远程仓库(Remote Repository)的clone&psuhSourcetree可视化工具配置、以及Git-Flow工作流等等
小提示: 本文后续操作都在Visual Studio Code编译器中进行,即将git init的文件夹用该编译器打开

⭕️内容

GitHub

  • 简介

作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序>转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。

如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库>都可以独立使用,任何两个库之间的不一致之处都可以进行合并。

GitHub可以托管各种git库,并提供一个web界面,但它与外国的SourceForge、Google Code或中>国的coding的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡>献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代>码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代>码玩家的MySpace。

在GitHub进行分支就像在Myspace(或Facebook)进行交友一样,在社会关系图的节点中不断的连>线。

GitHub项目本身自然而然的也在GitHub上进行托管,只不过在一个私有的,公共视图不可见的库>中。开源项目开源项目?fromModule=lemma_inlink)可以免费托管,但私有库则并不如此。Chris >Wanstrath,GitHub的开发者之一,肯定了通过付费的私有库来在财务上支持免费库的托管这一计>划。

通过与客户的接洽,开发FamSpam,甚至是开发GitHub本身,GitHub的私有库已经被证明了物有>所值。任何希望节省时间并希望和团队其它成员一样远离页面频繁转换之苦的人士都会从GitHub中>获得他们真正想要的价值。

下面为创建一个远程仓库(remote repository)操作流程:

  • step1:创建一个github用户

  • step2:
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第1张图片

  • step3:
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第2张图片

  • 创建成功:
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第3张图片

SSH Key

  • 简介

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

  • 创建SSH Key
$ ssh-keygen -t rsa -C "[email protected]"

此时输入你之前config时的邮箱账号即可,也可进行覆盖操作

  • 指令输入操作:
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第4张图片
  • 找到ssh-rsa位置演示:
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第5张图片

Note: 虽然这里有两个id文件,但通常忽略第一个,我们只需要“.pub”文件
【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第6张图片

  • 在GitHub中进行ssh-key信息绑定
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第7张图片

  • 测试SSH Key配对成功——固定

$ssh -T [email protected]  //@后面的内容根据平台而定 如[email protected]
  • 显示以下信息即为成功配对:
    在这里插入图片描述

Repository的克隆和推送

  • step1:先在GitHub找到开始创建好的仓库,复制其ssh地址
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第8张图片

  • step2:通过Git Bash输入clone指令将GitHub上的远程仓库克隆到本地

在这里插入图片描述

  • step3:克隆成功
    在这里插入图片描述

  • step4:进行addcommitpush指令操作
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第9张图片

  • step5:在GitHub中查看刚刚commit的信息,该次提交当作版本"v1.0"

【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第10张图片

  • step6:重复上面的操作,我们又得到版本“v2.0”

【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第11张图片

  • step7:对比版本“v1.0”和“v2.0”,加深对git工作原理理解

v1.0:
【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第12张图片

【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第13张图片


v2.0
【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第14张图片

【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第15张图片

可视化工具(Sourcetree)

SourceTree 是 Windows 和Mac OS X 下免费的 Git 客户端,拥有可视化界面,容易上手操作。同时它也是Mercurial和Subversion版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作

总而言之,这是一款非常好用的可视化Git GUI工具,即将git指令操作全部变成只需要在可视化页面中用鼠标点击,再了解git工作原理后,上手sourcetree就十分简单了,下面简单介绍一下环境配置

  • step1:在官网下载安装

  • step2:打开软件后,点击clone
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第16张图片

  • step3:在GitHub中复制需要克隆的远程仓库ssh地址
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第17张图片

  • step4:解决无效路径方法
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第18张图片

  • step5:成功解决上述路径问题,点击克隆即可
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第19张图片

  • step6:
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第20张图片

git工作流(git-flow)

最后,给大家介绍git工作流,这是现阶段常用的一种开发理念,对于第一次接触的人来说不需要研究的很透彻,明白其基本概念即可

  • 思想:合并、分化

  • 目的:团队、公司、多人协作开发,方便管理、分工细致、便于维护和测试

  • 主要分支:

    • 主分支(master/main):产品中大的版本发布、上线
    • 开发分支(developer):负责开发、测试等,发布每次小版本,如果产品测试、bug测试等都pass,则发布产品,回到主分支
    • 功能分支(feature-id):在开发分支上又有许多人员分担了不同的开发任务,实现每次小版本的开发
    • 修复bug分支(bug-fix):修复各大版本的新旧漏洞,修复后,与开发版本合并发出新的大版本
  • git-flow流程图:
    【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流_第21张图片

总结

Git篇就此告一段落,希望大家都能有所收获,最后再啰嗦一句,git作为一种工具,重要的是学会如何使用而不要过分深究其某一点(如果你是专业的开发人员那就另当别论了),byebye

你可能感兴趣的:(Git,git,github,ssh)