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

简介: GitHub|Sourcetree|SSH快速部署、git-flow工作流、Remote Repository的克隆和推送
个人主页: 好吃懒洋洋的CSDN博客
【Git|GitHub|SSH|Sourcetree 上篇】

✅前言

❗️❗️❗️【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:

在这里插入图片描述

  • step3:

在这里插入图片描述

  • 创建成功:

在这里插入图片描述

🔶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 "youremail@163.com"

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

  • 指令输入操作:

在这里插入图片描述

  • 找到ssh-rsa位置演示:

在这里插入图片描述

📌Note: 虽然这里有两个id文件,但通常忽略第一个,我们只需要“.pub”文件
在这里插入图片描述

  • 在GitHub中进行ssh-key信息绑定

在这里插入图片描述

  • 测试SSH Key配对成功——固定
$ssh -T git@github.com  //@后面的内容根据平台而定 如git@gitee.com
  • 显示以下信息即为成功配对:

在这里插入图片描述

🔶Repository的克隆和推送

  • step1:先在GitHub找到开始创建好的仓库,复制其ssh地址

在这里插入图片描述

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

在这里插入图片描述

  • step3:克隆成功

在这里插入图片描述

  • step4:进行addcommitpush指令操作

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

v1.0:
在这里插入图片描述

在这里插入图片描述


v2.0
在这里插入图片描述

在这里插入图片描述

🔶可视化工具(Sourcetree)

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

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

  • step1:在官网下载安装
  • step2:打开软件后,点击clone

在这里插入图片描述

  • step3:在GitHub中复制需要克隆的远程仓库ssh地址

在这里插入图片描述

  • step4:解决无效路径方法

在这里插入图片描述

  • step5:成功解决上述路径问题,点击克隆即可

在这里插入图片描述

  • step6:

在这里插入图片描述

🔶git工作流(git-flow)

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

  • 思想:合并、分化
  • 目的:团队、公司、多人协作开发,方便管理、分工细致、便于维护和测试
  • 主要分支:

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

在这里插入图片描述

🔳总结

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

相关文章
|
7天前
|
开发工具 git C++
【App Service】VS Code直接部署App Service时候遇见 “fatal: not a git repository (or any of the parent directories): .git”
通过VS Code发布Python App Service的时候,遇见了发布失败错误: The deployment failed with error: fatal: not a git repository (or any of the parent directories): .git . Please take a few minutes to help us improve the deployment experience
55 24
|
2月前
|
网络协议 开发工具 git
hexo github部署,通过域名访问你的博客
本文介绍了如何使用Hexo命令部署博客到GitHub,并详细说明了如何通过自定义域名访问GitHub上部署的博客。
hexo github部署,通过域名访问你的博客
|
2月前
|
网络协议 开发工具 网络虚拟化
SourceTree git 配置代理
SourceTree git 配置代理
38 1
|
3月前
|
搜索推荐 前端开发
使用VitePress创建个人网站并部署到GitHub
该网站使用 VitePress 构建,记录了前端开发相关的笔记和教程,涵盖 Vue2 和 Vue3 等内容。网站支持暗黑模式和 Algolia 搜索服务,提供了详细的导航和侧边栏配置。通过自动化脚本进行部署,托管于 GitHub Pages。
使用VitePress创建个人网站并部署到GitHub
|
3月前
|
网络协议 Shell 网络安全
ssh: connect to host github.com port 22: Connection refused
本文讨论了在使用Git命令操作GitHub时遇到的"ssh: connect to host github.com port 22: Connection refused"错误,分析了可能的原因,并提供了使用443端口或https协议作为解决方案,最终确定问题是由于DNS解析错误导致,通过修改hosts文件解决。
ssh: connect to host github.com port 22: Connection refused
|
3月前
|
资源调度 搜索推荐 Shell
使用VitePress静态网站生成器创建组件库文档网站并部署到GitHub
本文介绍了如何使用 Vue3、TypeScript 和 Vite 开发组件库并将其发布到 npm。文章详细描述了安装依赖、配置项目、创建文档网站以及编写组件文档的步骤。通过使用 VitePress,可以轻松搭建组件库的文档站点,并实现 Algolia 搜索功能。此外,还提供了自动化脚本用于部署静态网站至 GitHub 以及发布组件库到 npm。最后,展示了完整的目录结构和网站效果。
使用VitePress静态网站生成器创建组件库文档网站并部署到GitHub
|
2月前
|
Shell 网络安全 开发工具
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
|
3月前
|
安全 Linux 网络安全
Docker部署ssh连接工具webssh2
【8月更文挑战第2天】Docker部署ssh连接工具webssh2
241 6
Docker部署ssh连接工具webssh2
|
3月前
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
|
3月前
|
Linux 开发工具 git
【应用服务 App Service】App Service使用Git部署时,遇见500错误
【应用服务 App Service】App Service使用Git部署时,遇见500错误