• Git的不完全使用指南


     

    1.分布式管理集中式管理

      版本管理工具的主要是用来记录追踪文本文件修改记录,常见的有SVN,TFS,FireFly。这些都属于集中式管理工具。需要管理的文件统一放到服务器上面,版本树当然也在服务器。客户端要进行获取,修改,更新,必须首先与服务器联网。客户端仅仅是一个工作区。服务器一旦挂掉文件可能丢失。 而git采取的是分布式的管理策略,客户端和服务器的地位是平等的,也就是说所有的客户端和服务器都保存了一份完整的版本树。客户端之间也可以进行文件的同步,服务器的存在仅仅是为了使同步更方便而已。

    2.git的内部结构

    • 工作区:本地工作目录,通常就是项目文件所在目录
    • 版本库:git管理、跟踪修改的地方。(对应.git隐藏目录)
    • Stage暂存区:

        工作区修改的每次提交都会产生一个版本号,一般情况下是完成一个阶段的工作后再提交,避免生成过多的版本意义不大。可是如果长时间提交有担心修改的丢失,所以有了暂存区的概念。

        我们可以分任意次将修改后的文件先添加到Stage区,等完成一阶段的工作后统一提交到分支。

    • Master:主分支,保存的是一棵完整的版本树。
    • Head:一个指针,指向的是当前版本。可以通过修改Head指针来回退版本

    3.常用命令

    • git init 创建本地仓库

    创建完成之后发现 .git目录就是本地仓库所在的目录

    • git add 将工作区的文件添加到暂存区 
    • git status 查看工作区和暂存区的状态

    在当前工作区新增两个文件test1、test2。将test1添加到暂存区。然后使用git status命令查看

    Changes to be committed:是暂存区中的文件

    Untracked files:未跟踪的文件,没有添加过版本控制

    git add 可以一次添加多个文件或者目录。

    git add <file1> <file2>....
    git add <directory1> <directory2>...

    • git rm --cached <filename>  删除暂存区的文件(git add 的逆操作)
    • git diff <filename>将工作区的文件跟Stage比较,如果Stage不存在则跟HEAD版本比较
    • git checkout <filename> 用Stage或者HEAD版本覆盖本地工作区,策略同上。
    • git commit 将Stage版本提交到分支
    SQL Server
  • 相关阅读:
    Spring MVC知识梳理
    Spring知识梳理
    combination sum(I, II, III, IV)
    两个面试题
    LeetCode高频148错题记录
    Multi label 多标签分类问题(Pytorch,TensorFlow,Caffe)
    Appearance-and-Relation Networks for Video Classification论文笔记 (ARTnet)
    LeetCode-450 二叉搜索树删除一个节点
    长短时记忆网络LSTM和条件随机场crf
    最大子数组(I, II, III,IV,V)和最大子数组乘积 (动态规划)
  • 原文地址:https://www.cnblogs.com/zlgan/p/11626518.html
Copyright © 2020-2023  润新知