• Git使用(真的有熟悉吗)


    Git

    关于 git 是啥这种我就不多说了,网上挺多的 —— 分布式版本控制系统,也就是能有效地管理项目版本,本文就是在自己学习一段时间之后发现 git 用的还是不是很熟练,故总结一下:

    主要分为两个部分说一下关于 git

    1. 基础指南
    2. 深入了解

    基础指南

    安装

    可以参看之前我写过的文章 Git——从安装到连接GitHub

    创建仓库

    创建新文件,打开,执行 git init 用以创建新的仓库

    克隆仓库

    执行 git clone 仓库地址 可以克隆远程的仓库

    提交代码

    执行 git add 文件名 将代码交到工作区
    执行 git commit -m " " 将代码保存到暂存区
    执行 git push origin master 将代码提交到远程仓库

    分支

    分支就是用来将特性开发绝缘开来的,默认是 master 分支,在其他分支上进行开发,完成之后合并到主分支上

    执行 git checkout -b masterA 创建 masterA 分支并切换过去
    执行 git checkout master 切回主分支
    执行 git branch -d masterA 将新建的分支删除
    执行 git push origin masterA 将分支推送到远程仓库

    更新、合并

    执行 git pull 将远程仓库更新到本地
    执行 git merge masterA 将要合并的分支合并到当前分支

    有几种情况:
    将本地文件提交到远程仓库

    git init	//初始化仓库
    git remote add origin 仓库地址		//连接远程仓库
    git push origin master 		//将远程仓库上的文件拉下来
    git add .
    git commit -m ""
    git push origin master 		//执行这三部将代码推送到远程仓库
    

    将远程仓库克隆下来,然后提交

    这种情况就相当于少了前面两步
    在克隆前面仓库的时候就已经和远程仓库建立了联系

    git add .
    git commit -m ""
    git push origin master //执行这三部将代码推送到远程仓库
    

    对远程仓库中的文件进行修改
    由于 GitHub 没有删除仓库文件这一功能,只有删除仓库,那就不是很方便了

    // 重复上述代码,先将远程仓库拉下来
    // 本地此时就有一个和远程一样的仓库了
    git add .
    git commit -m ""
    git push origin master			//将代码提交一遍,远程仓库就改好了
    

    解决每次提交都需要账号密码
    在整理 GitHub 的时候,每次提交的时候都需要输入账号密码,还是有点繁琐的

    在 `C:Users用户` 下有一个 .git.config 文件打开添加
    [credential]
       helper = store
    保存之后 pull 或者 push 之后就可以保存了
    

    深入了解

    首先就是关于 .git 文件
    在这里插入图片描述
    hooks(钩子): 存放一些 shell 脚本
    Info > exclude:控制 Info 中显示的信息
    logs: 保存每次操作的信息,包括更新记录中的 HEAD master 等工作区文件
    object: 存放 git 对象,每次提交的时候的信息
    refs > heads 当前提交的信息
    remote 更新的时候的信息
    tags 标签,比如说版本号
    COMMIT_EDITMSG:commit 的时候的信息
    config:git 的仓库配置文件,包括仓库的地址和文件路径
    description:仓库的描述
    FETCH_HEAD:版本链接,合并的时候的仓库的版本
    HEAD:映射到 ref 引用,能够后找到下一次 commit 的前一次 hash
    index:暂存区

    一些常见命令:
    首先这是一张基准图,信息在图中:
    在这里插入图片描述

    diff
    查看两次提交之间的变动
    (也就是中间 git diff XXX 中间那段)
    在这里插入图片描述
    Commit
    commit 之后,master指向新的节点作为父节点
    (提交之后HEAD位置从ed489到了f0cec)
    在这里插入图片描述
    checkout
    从历史提交中拷贝文件到工作目录,或者切换分支
    (将历史提交da985拷贝到暂存区和工作目录)
    在这里插入图片描述
    reset
    将当前分支指向另一个位置,有选择的变动工作目录和索引
    (将当前master分支指向前三个b325c)
    在这里插入图片描述

    merge
    将不同的分支合并起来
    (默认把当前提交ed489和另一个提交33104以及他们的共同祖父节点b325c进行一次三方合并。结果是先保存当前目录和索引,然后和父节点33104一起做一次新提交。)
    在这里插入图片描述

    参考文档:git-基础指南
    图解Git

    Git 参考手册

  • 相关阅读:
    k8s service的DNS名称解析之CoreDNS
    k8s service负载均衡实现之iptables
    k8s 将项目暴露到互联网访问
    k8s 日志按体现分类与采集思路
    k8s ingressd的http对外暴露网站
    k8s 容器交付流程和项目部署流程
    k8s ingress使用DaemonSet部署
    Google Base与科学家数据共享 (Nature Vol 438|24 November 2005)
    总结:rdf:ID和rdf:about的区别(转载)
    一个元搜索引擎
  • 原文地址:https://www.cnblogs.com/Indomite/p/14195231.html
Copyright © 2020-2023  润新知