zoukankan      html  css  js  c++  java
  • git

    1.Git简介

    1.1 版本控制

    版本控制:是一种系统(记录一个或若干文件的变化,以便将来查询特定版本修订情况)

    • 本地版本控制系统:
      首先,在本机上有版本控制的需要,最简单的方法,就是复制整个项目,并加上日期,版本等。现在大都采用记录文件的历次更新差异。(现在做的复制源码文件的工作,还在本地版本控制的前一阶段,只要求能够备份当前代码。没有进行版本控制。)

    • 集中化版本系统:
      解决了再本地的版本控制,另一个问题出现了如何让不同系统的人协同开发项目。,于是出现了集中化版本系统。简单,方便控制?如果中央服务器出现问题,风险太大。

    • 分布式版本控制:

    1.2 来历

    2005年,Bitkeeper同Linux内核开源社区的合作关系结束。使 Linux 开源社区(特别是 Linux 的缔造者 Linux Torvalds)基于使用 BitKcheper 时的经验教训,开发出自己的版本系统。 他们对新的系统制订了若干目标:

    • 速度
    • 简单的设计
    • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
    • 完全分布式
    • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

    1.3 Git基础

    • 直接记录快照,而不是人间差异(快照是什么?
    • 几乎所有的操作都在本存储,快速。
    • 三种状态:
      • 已提交(Git仓库 .git directory(Repository储藏室))、
      • 已修改(工作目录 Working Directory)
      • 已暂存(Staging Area)

    1.4 起步

    只有在命令行中才能执行Git的所有功能。许多GitGUI实现Git所有功能的子集来降低复杂度
    1.安装
    windows中安装的是Git for Windows(msysGit)

    英语要学好,安装时看不懂英语

    2.配置

    1.安装完成后打开git-bash 设置用户名和邮箱
    $ git config --global user.name "github's Name"
    $ git config --global user.email "github@xx.com"

    --global表示全局,默认所有的账户都是这个用户名和邮箱,如果想在单个项目提交到其他项目,在项目根目录下进行单独配置(不加--global),我也不知道这个是什么,我用的自己的github账号
    2. 命令:
    $ git config --list:查看配置

        $ git config (key):***查看key的值***
       $ git help[key]:***获取帮助***
    

    2.Git基础

    2.1创建版本库:进入目录,pwd查看当前目录;git init

    vc6.0编译器cl.exe

    2.2将当前目录下的文件纳入版本控制
    git add (file)
    git commit -m '[提交说明]'

    创建版本库(git init) -> 添加文件(git add) -> 提交(git commit)

    2.3 从现有仓库中克隆:
    git clone (git add) [name]:如果没有后面的name,原来是什么名字,现在就是什么名字
    下面这个使用的是git协议,我们还可以使用http协议或者SSH协议* ***

    2.4 查看状态,文件分为两种状态

    • 未跟踪状态:(git add 加入暂存区)
    • 已跟踪状态:
      • 未修改:
      • 已修改:git add 加入暂存区
      • 暂存:git commit 提交,变为未修改。

    git status:查看状态(git commit -h查看帮助)

    现在ReadMe是已修改git add 加入暂存;
    在提交git commit

    记录每次更新 到仓库,上面的详细版

    2.5 查看提交历史
    git log

    2.6撤销操作

    2.7 远程仓库:
    git remote:查看当前远程库
    git remote add (remote name)(remote address):添加远程仓库
    git fetch:从远程仓库中拉取
    git pull:拉取并合并
    git push:推送到远程库;
    目前只能https push;添加远程库,拉取并合并,在提交
    git remote rm (name)删除版本库

    2.8 打标签

    3.分支

    1.创建分支:git branch
    HEAD :ref: refs/heads/master
    2.切换分支:git checkout(branch-name)

    HEAD:ref: refs/heads/testing
    3.新建分支并切换分支:git branch -b (branch-name)
    4.合并分支:
    1. 返回master;
    2. git merge (branch-name)
    如果要合并的分支是master同一线上的分支,直接将master指针移到最新的分支上,
    如果要合并的分支不只同一条线上,则有可能要解决冲突才能合并。
    3.git -d (branch-name):删除分支。

    5.分支管理:
    * 查看分支:git branch, git branch -v
    2.切换分支:git checkout (branch-name)

    利用分支进行的开发流程。
    master分支放稳定版,issue-xx放解决某个问题的版本,dumbidea放为了某个想法做的实验
    请务必牢记这些分支全部都是本地分支,这一点很重要。当你在使用分支及合并的时候,一切都是在你自己的 Git 仓库中进行的 — 完全不涉及与服务器的交互

    4.服务器上的Git

    四种协议:

    Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。下面分别介绍一下哪些情形应该使用(或避免使用)这些协议。

  • 相关阅读:
    Django
    MySql、Mongodb和Redis的区别
    数据库读写分离之配置Django实现数据库读写分离
    MySQL数据库优化
    01--web框架本质 wsgiref模块介绍
    CI上传图片 The filetype you are attempting to upload is not allowed.
    微信小程序 swiper和video的autoplay设置冲突问题
    关于手机端页面使用border-radius:50%不能使用div变为圆形问题
    微信小程序支付获取params的时候使用JsApiPay失败
    小程序使用笔记
  • 原文地址:https://www.cnblogs.com/wangbiwei/p/5706046.html
Copyright © 2011-2022 走看看