git与sourcetree的那些事

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 数据存储结构先来了解下版本管理中的两个概念,如下图所示:image.png   仓库,可以理解为你的项目工程,即文件项目的单位。分为本地仓库、远程仓库和线上仓库,其中本地仓库就是你本地电脑上的项目文件,远程仓库一般为github、Centos等云端托管平台,也可以是一台服务器,线上仓库就是实际服务器运行的项目。

数据存储结构

  • 先来了解下版本管理中的两个概念,如下图所示:


    image.png

       仓库,可以理解为你的项目工程,即文件项目的单位。分为本地仓库、远程仓库和线上仓库,其中本地仓库就是你本地电脑上的项目文件,远程仓库一般为github、Centos等云端托管平台,也可以是一台服务器,线上仓库就是实际服务器运行的项目。一般来说,为了安全起见,远程仓库和线上仓库应该是不同的服务器。
       分支,可以理解为你项目内部的moudle,即文件的模块。如张三模块分支、李四模块分支。

  • 版本控制的数据流
        在我们的实际项目中、利用git分布式版本管理器来管理我们的项目,其数据流向如下图所示:


    image.png

       如图,整体流向分为三大块:1为线上仓库、2为远程仓库、3为本地仓库。其中从下到上的数据保存流程为:工作区分为两个分支:master和zhibinm,当本地的工作区对该这两个分支进行改变时,需要一个保存操作,即C和D,叫做commit操作,然后这两个分支可以进行合并操作,B即为merge操作;当本地仓库需要提交保存的文件时,这时候需要push到远程仓库,当然远程仓库也可以通过pull操作到本地仓库,远程仓库各分支之间也可以进行merge合并操作;最后是远程仓库部署到线上仓库进行使用。

文件传输中的公钥和私钥

  • git传输协议
       分为https(加密超文本传输协议)和ssl(安全外壳协议),ssl涉及到公钥和私钥。首先我们了解两种加密算法。
  • 对称加密算法


    image.png

       其特点是加密密钥和解密密钥一样的。

  • 非对称加密算法
image.png

   其特点是,加密的密钥和解密的密钥不一样。加密的称为公钥,解密的称为私钥。

  • 公钥和私钥的生成
       打开cmd,输入指令代码:ssh-keygen -t rsa -C "your email"或者ssh-keygen -t rsa,并按回车3下(为什么按三下,是因为有提示你是否需要设置密码,如果设置了每次使用Git都会用到密码,一般都是直接不写为空,直接回车就好了)。会在一个文件夹里面生成一个私钥 id_rsa和一个公钥id_rsa.pub。这里说明一下公钥和私钥是成对出现的。
  • 从远程仓库中获取工程项目(以GitHub为例)
       这里我们用git的一个客户端SourceTree来获取项目,其中SourceTree个版本的下载点击这里,选择好版本下载安装就好啦!上传项目见这篇博文
  1. 根据https得到项目
    步骤如下:


    image.png
image.png
  1. 根据ssl得到项目
       首先做相关设置,主要是配置公钥(SourceTree本地的git私钥要配好):
    image.png

       然后直接复制ssl的url进行pull即可。
    image.png

    最后附上相关视频讲解
目录
相关文章
|
7月前
|
数据可视化 项目管理 开发工具
使用SourceTree可视化更新git代码
使用SourceTree可视化更新git代码
|
3月前
|
网络协议 开发工具 网络虚拟化
SourceTree git 配置代理
SourceTree git 配置代理
86 1
|
数据可视化 网络安全 开发工具
git可视化版本控制工具SourceTree的基本使用
git可视化版本控制工具SourceTree的基本使用
260 0
|
设计模式 测试技术 开发工具
Git操作指南: 企业级项目分支管理流程 - SourceTree Mac 版(1)
发现每到一家公司,公司的管理流程都差距甚远,大的互联网公司注重细节和内部实现,代码质量要求简直就是苛刻,新员工<review code + 导师 >是少不了的,每写一行代码,非得说清楚里面原理是什么?为什么要这样写,是不是用啥设计模式会更有拓展性一点,业务文档和技术文档也是强制性的,各种流程像流水线办公类似,一个细节出问题,影响的就是整个发版,复杂的需求可以划分为多个需求id,然后每个人只负责自己的小需求模块即可,小团队的话则更注重整体业务把握,基本上搞透一个点,做着做着就得梳理之前的业务流程,刚好国庆挤了点时间把git总结了一下,然后再逐步分析一下企业真实的git管理是怎么样的,希望对职场的
451 0
Git操作指南: 企业级项目分支管理流程 - SourceTree Mac 版(1)
|
开发工具 git
git/SourceTree修改上一次的提交信息
git/SourceTree修改上一次的提交信息
1114 0
|
数据可视化 程序员 开发工具
git命令记不住?可视化git操作平台Sourcetree入门教程
git命令记不住?可视化git操作平台Sourcetree入门教程
190 1
git命令记不住?可视化git操作平台Sourcetree入门教程
|
安全 IDE Java
Git操作指南: 企业级项目分支管理流程 - SourceTree Mac 版(2)
Git操作指南: 企业级项目分支管理流程 - SourceTree Mac 版(2)
217 0
|
存储 数据可视化 开发工具
图形化Git客户端Sourcetree推荐
图形化Git客户端Sourcetree推荐
391 0
图形化Git客户端Sourcetree推荐
|
数据可视化 安全 Unix
【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流
GitHub|Sourcetree|SSH快速部署、git-flow工作流、Remote Repository的克隆和推送
288 0
【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流
|
存储 前端开发 JavaScript
【Git|GitHub|SSH|Sourcetree 上篇】Git环境搭建及核心概念学习
当下,几乎所有开发者都要接触版本控制系统(VersionControlSystem, 简称VCS), 这种工具让他们在分工合作时避免了不必要的重复与冲突,如果遇到什么问题,也可以及时回退到之前的版本。当今最流行的版本控制系统(至少在网络开发者中是这样的)是Git,和与之关联的编程社区网站GitHub、Gitee等等。我们很少独自完成一个项目,而在分工合作的同时我们都会有与他人的工作相冲突的风险:尤其是当两个人同时尝试修改同一段代码的时候。所以我们需要有相应的机制用以避免这种情况。
135 0
【Git|GitHub|SSH|Sourcetree 上篇】Git环境搭建及核心概念学习