1. Git介绍

    git是当今最强大的本地的分布式代码版本管理工具。

    git的核心概念与操作:开发环境,本地仓库,远程仓库。他们的关系如下图:

  2. 与CVS及SVN的比较:

    CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统。

    集中式版本控制系统是指:代码仅放中央服务器上,每次开发时必须联网,从中央服务器拉取代码,然后提交代码。

    并且只有中央服务器才会记录版本变更。如果中央管理器挂了,所有人都不能干活了。

    和集中式版本控制系统不同,使用分布式的版本控制系统Git。每个人都有一套完整的本地代码仓库和版本信息。

    如果远程仓库挂了,从别人的电脑上拷贝一份就好了。
    与CSV,SVN等

  3. Git安装方法

    1.安装git。官网下载git安装包,官网地址:https://git-scm.com/download/mac(下载较慢)。

    2.通过homebrew安装(推荐)

    1. 安装homebrew  终端中执行 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    2. 安装完成后,在终端中执行 sudo brew install git

    3. 安装完成后,在终端中执行 git --version,显示当前git版本则安装成功

  4. Gitlab和SourceTree使用

    Gitlab是使用Git作为代码管理工具,并在此基础上搭建起来的web服务。SourceTree兼容git的客户端。
    1. 安装SourceTree请参考下:https://blog.csdn.net/qq_16066381/article/details/81777417

    2. 以https传输为例,到gitlab找到需要添加的项目, etl项目的仓库地址是

      假如不在这个项目成员中,需要项目的管理员添加develop权限。

    3. sourceTree添加gitlab项目方法:

      菜单栏 –> 文件 –> 新建/克隆 –> +新仓库 –> 从url克隆

    4. 按提示输入本机密码,gitLab登录密码,设置本地仓库位置,点击克隆:


      切换到dev分支。mater分支一般由管理员最终merge。用于上线。

    5. 提交本地代码

      1. 勾选开发环境中修改的代码,提交到本地仓库
      2. 将已缓存的代码推送到远程仓库
    6. 解决冲突

      假如本地代码的版本和远程仓库的版本不同,git不知道如何合并代码,就会代码冲突,此时需要我们手动解决冲突。

      为了避免冲突,应该及时拉取远程仓库的代码,和推送本地的代码.

  5. etl项目代码提交规范()

    1. hive sql应放到hive-sql目录下

    2. 建表语句放在hive-sql/table-creation/层 目录下,文件命名遵守命名规则(待定)

    3. etl sql 应放到hive-sql/data-ops/层 目录下,文件命名遵守命名规则目录下
    4. 遇到版本冲突,不确定保留哪个版本时,应当和代码冲突的开发人员共同,不要强制提交
    5. 提交时,代码的作用,应该在备注中写明
    6. 当天开发完成的代码应该及时提交

学习和思考

  1. 如何用命令行操作git
  2. 如何用ssh连接远程仓库
  3. 如何在idea中提交代码

推荐大家静下来学习完这篇博客:
廖雪峰的学习网站 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

Git和SourceTree配合使用的更多相关文章

  1. Eclipse Git和sourceTree用法

    Eclipse Git和sourceTree用法 Eclipse Git: 提交代码到git: 1.team->Repository->pull 若没有冲突: 2.team->com ...

  2. git之sourceTree操作流程

    1x.sourceTree的使用流程  12.Git管理工具对比(GitBash.EGit.SourceTree)  11.SourceTree使用SSH克隆码云项目 ====== 1x.source ...

  3. git之sourceTree使用github和码云的代码小结

    16.使用git出现的错误记录  15. Permission denied (publickey)错误: git远程库与本地库同步 git设置ssh公钥 Bad escape character ' ...

  4. Git和SourceTree入门教程

    转自CSDN:http://blog.csdn.net/collonn/article/details/39259227 -->本教程适用于主流的开源网站github和bitbucket,个人认 ...

  5. git vs sourcetree

    SourceTree&Git部分名词解释 克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库 提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓 ...

  6. 手把手教你用git和SourceTree上传项目到github细解(转)

    尊重原创:https://blog.csdn.net/qq_32365567/article/details/52859166 一.引言 我想大家现在都很熟悉github了,也能运用github上开源 ...

  7. 使用 Git + Dropbox + SourceTree 做 Source Code Management

    此篇文章主要針對有安裝 XCode 的 Mac 用戶. Git 版本控管工具,作用類似 CVS.Subversion(簡 稱SVN),好處在於 Git 不像 CVS 及 SVN 是屬於集中式的版本控管 ...

  8. 使用git和sourcetree提交代码的一些问题

    今天遇到的几个坑算是解决了1.开始不能用指令提交,可以执行git add命令前添加gitdir=$(git rev-parse --git-dir); scp -p -P 29418 wangtao1 ...

  9. Git客户端SourceTree回滚到远程仓库和切换分支

    使用SourceTree将远程仓库回滚到某一次提交 原理:在本地需要回滚的commit上创建一个分支,将该分支合并到远程仓库. 步骤 1.在需要回滚的commit上右键创建分支 创建分支 2.输入新的 ...

随机推荐

  1. CH#17C 舞动的夜晚

    原题链接 即求二分图的不可行边数量,因为不保证是完备匹配,所以需要通过网络流求出任意一组最大匹配,并建立新图判断. 建新图:对于跑完网络流的图上已经匹配的边,建立反边:对于没有匹配的边,建立正边(图只 ...

  2. tyvj 创世纪 - 基环树

    codevs :   传送门 Description 上帝手中有着N 种被称作“世界元素”的东西,现在他要把它们中的一部分投放到一个新的空间中去以建造世界. 每种世界元素都可以限制另外一种世界元素,所 ...

  3. How to Disable/Enable IP forwarding in Linux

    This article describes how to Disable or Enable an IP forwarding in Linux. Current IP forwarding sta ...

  4. Spring IOC(六)依赖查找

    Spring IOC(六)依赖查找 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) Spring BeanFactory ...

  5. javase高级技术 - 反射

    在说反射之前,必须得先说说java的类加载器,类加载器的定义:将.class文件加载到内在中,并为之生成对应的Class对象. 一般有三种 1 Bootstrap ClassLoader 根类加载器也 ...

  6. 使用Python完成表格自动输入

    看了看<Python编程快速上手>,写了个小脚本完成12306登录数据的自动输入.如下: 1 import webbrowser 2 import pyautogui 3 import t ...

  7. java15

    1.数组 格式:数据类型 [ ] 数据名称 = new 数据类型 [ ] { }: 2.初始化 静态初始化(已知要开多少个房间来存储数据) int[ ] a =new int[ ] {12,32,54 ...

  8. mybatis学习八 事物

    1.事物的定义: 是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行. 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源. 2,事物的特性: ...

  9. JS高级-String- RegExp- Math- Date:

    1. String: 切割: 将一个字符串,按指定分隔符,切割为多段子字符串 简单切割: 切割符是固定的 var arr=str.split("切割符") 强调: 切割后的结果中, ...

  10. DOM-DOMTree-查找

    1. 什么是DOM: Document Object Model 专门操作网页内容的API js=ES+DOM+BOM DOM是由W3C指定的API标准 为什么: 为了统一各个浏览器操作网页内容的AP ...