hadoop git总结

  1. 版本控制系统
    1. 什么是vcs
      1. Version control system的简称,是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统
    2. Vcs的发展
      1. 本地vcs
        1. 手工即可
      2. 集中式VCS
        1. Cvs,svn
      3. 分布式VCS
        1. Git,bitkeeper,Mercurial
  2. Git工作原理
    1. Git是什么
      1. 开源的分布式版本控制系统 ,去中心化.
      2. 大小项目均可以灵活管理,参与开发人员比较灵活.
      3. Linux的代码管理工具bitkeeper不适合开源社区,故Torvalds推出了GIT
    2. 工作原理
      1. 工作构架:

远程仓库(中心服务器)←→本地仓库(本地)←→暂存区(本地)←→工作目录(本地)

    1. 工作流程图

    1. Git与其他VCS(version control system)对比
      1. 架构设计不同
        1. 老VCS主要是cvs,svn,都是集中式的
      2. 分支管理
        1. 先有项目,后又分支,后有版本,分支的范围比版本要高一级
        2. Git的分支只要不提交合并,对别人没任何影响
        3. Svn的分支是完整的目录,你改了svn的分支,所有人的分支都随你而变
        4. 分支命名:git的分支在本地和远程是自由匹配,而svn全局统一的
      3. 内部数据存储方式
        1. 老vcs是以按文件为单位来存储元数据,git同意存储管理元数据,存放在称为.git的目录内
      4. Git与github关系
        1. Git是一个分布式的版本控制系统,最初应该用在Linux源码协同开发中
        2. GitHub是一个基于git的项目托管平台,提供web界面,可以在上面创建资源仓库来存放的项目
      5. GitHub的同类产品
        1. GitLab:相当于私人版的github,多用于企业内部开发人员的代码版本管理
        2. Gitee(Git@OSC):相当于国内的github
        3. CSDNgit:相当于国内的github
        4. Bitbucket
  1. Git shell应用
    1. Linux git shell安装
      1. Git安装

Yum install git

      1. Git配置

Git config --global user.name “YourName”

Git config –-global user.email “YourEmail”

    1. Git命令
      1. 创建本地版本库

Cd ~ //进入到家目录

Mkdir local_repo//创建文件夹,作为版本仓库的目标目录

Cd local_repo//进入新创建的文件夹

Mkdir FirstGit//在根目录下,创建第一个要进行git版本管理的文件夹

Cd FirstGit//进入项目所在的文件夹

Git init//创建本地git

      1. 创建待git管理的文件

Touch input.txt

Echo “I am a new file, I will be added to git vcs”>input.txt

      1. 将文件添加到代码库

git add input.txt//提交文件到缓存区

git commit -m “first commit”//提交文件到本地库

      1. 查看版本仓库状态

Git status

      1. 查看具体的差异点

比较-工作区和缓存区差异

Git diff working_file_path

比较-缓存区和本地仓库差异

Git diff –-cached input.txt

比较-工作区和本地仓库差异

Git diff HEAD input.txt

提交之前的变化文档input.txt

Git add input.txt

Git commit -m “Second commit”

再次git status 查看状态

                     git 日志查看

                     git log

                     查看分支的所有操作记录

                     Git reflog

    1. 版本回退
      1. 回退到当前版本的上一个版本

Git reset –-hard HEAD^//回到当前版本的上一个版本

Git reset --hard HEAD@{1}//回到指定版本

    1. 撤销修改
      1. 场景一:工作空间文件已修改(但此文件已加入到版本库管理),但没有add到缓存区
        1. 手动还原已修改的文件.---最原始的方法
        2. 用版本库中复原工作区的文件

Git checkout –-filelpath//将版本库中的指定文件覆盖掉工作区中的指定文件

      1. 场景二:工作空间已修改(曾经被添加到版本库中),已添加到缓存区,但没有添加到版本库

Git reset HEAD filepath//将改filepath对应的缓存区的内容删除掉,对工作区没有任何改动相当于回到了场景一,再进行get checkout---filepath

      1. 场景三:工作空间已修改,已经添加到缓存区,且已添加到版本库,但没有推到远程库

直接按版本回退来处理即可

       Git reset ---hard HEAD^

       Git reset ---hard HEAD@{1}

      1. 场景四:rm -rf误删某文件的还原

Rm -rf filepath //在工作目录中误删某个文件

Git checkout ---filepath //将版本库中的文件还原到误删的文件中

      1. 场景五:git rm 误删git文件的还原,并没有commit提交

Git reset HEAD filepath//将该文件在缓存区的删除操作移除掉

Git checkout ---filepath//从缓存区移除对该文件操作后,即可按应用场景4的操作还原

    1. 远程仓库操作
      1. 关联远程仓库
        1. 在gitlab web界面中,先创建组
        2. 在组内,创建自己的项目
        3. 在本地仓库远程仓库添加别名

git remot add远程仓库名[url]

        1. 查看远程仓库信息

git remot //显示远程仓库的关联分支

git remot -v //查看远程仓库的详细信息,显示远程的操作权限,fetch和push权限

        1. 推送本地仓库到远程库
        2. Git push[remote-name][local-branch-name]:[remote-branch-name]
    1. 从远程库同步数据到本地库(协作开发)

Git clone[url]

Git fetch:从远程把数据拉取到本机

Git merge:将拉去过来的数据合并到本地仓库分支中

Git merge FRTCH_HEAD

    1. 分支管理
      1. 什么是分支
        1. 针对不同用途或重大更新,给项目起的不同用途的名字,用以显示区分各个项目版本之间的不同

Git branch//查看分支

Git branch -r//查看远程分支

Git branch -a//查看所有分支

创建分支与切换分支:

Git branch branchName//创建分支

Git checkout branchName//切换分支

      1. 分支的作用

Git checkout -b dev//创建并切换分支

        1. 为了更好、更清晰、更简洁、更专业的版本迭代、开发效率提升而应用
      1. 分支设计
        1. Master分支:存放的均是项目最稳定的代码,用于直接发布、构建、部署运行
        2. Developer分支—开发团队
        3. Test分支—测试团队
        4. 临时分支—一些新增、临时的特性或功能开发
      2. 分支操作
        1. 查看本地分支
        2. 查看远程分支
        3. 查看所有分支
        4. 创建分支与切换分支
        5. 创建并切换分支
        6. 删掉分支
        7. 推送新的分支到远程
      3. 分支合并
        1. 正常合并
    1. 冲突合并
      1. 冲突原因
        1. 当多个分支或者多个开发者,同时修改相同的文件时,经常会出现合并冲突问题
        2. 构造冲突
        3. 解决冲突
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值