zoukankan      html  css  js  c++  java
  • Git系列(1)

    前言

    git & github中的专业术语

    watch  star  fork  issue  repository

    pull requeset  pull  merge  fetch

    git官网:      https://git-scm.com

    --------------------------------------------------------------------

    1.  git 工作区域

      git有三个区域

        *.本地仓库

          ^git commit

        **.暂存区  -临时存储

          ^ git add 

        ***.工作区   -写代码

    git

      -版本控制

        -协同修改

        -数据备份

        -版本管理

          -文件系统快照

        -权限控制

        -历史记录

          -查看修改人,时间,内容,日志信息

        -分支管理

          -多条分支同时推进任务

      -git简介

      -git命令行操作

    设置签名

          用户名
          邮箱地址
        作用:区分不同开发人员的身份
        命令:
            ---项目级别/仓库级别
                  仅在当前本地库范围内有效
                    git config
                  信息保存位置:./.git/config文件
            ---系统用户级别
                  登录当前操作系统的用户范围
                    git config  --global
                  信息保存位置: ~/.gitconfig文件
            ---级别优先级
                就近原则:项目级别优先系统用户级别

    基本操作

          状态查看操作
                git status    
         添加操作
                git add
          提交操作
                git commit

        版本前进后退
            基于索引值操作
                git reset --hard[局部索引值]
            使用^符号:
                只能后退
                git reset --hard HEAD^
           使用~符号
                只能后退
                git reset --hard HEAD~n

       删除文件并找回
          前提条件:删除前,文件存在时的状态提交到了本地库
          操作:      git reset --hard[指针位置]
          指针位置:删除操作已经提交到本地库,历史记录或当期位置
                   删除操作未提交到本地库,使用HEAD

       比较文件差异:
              git diff [文件名]
                  将工作区的文件和暂存区进行比较
              git diff [本地库中历史版本] [文件名]
                  将工作区的文件和本地库历史记录比较
               不带文件名比较多个文件

       git reset --hard
        reset命令的三个参数对比
            --soft参数
                仅仅在本地库移动HEAD指针
            --mixed参数
                在本地库移动HEAD指针    
                重置暂存区
            --hard参数
                在本地库移动HEAD指针    
                重置暂存区
                重置工作区

    分支管理:
      什么是分支?
           在版本控制过程中,使用多条线同时推进多个任务
      分支的好处
            同时并行推进多个功能开发,提高开发效率
            各个分支在开发过程中,互不影响
      分支操作
            创建分支
                git branch [分支名]
            查看分支
                git branch -v
            切换分支
                git checkout [分支名]
            合并分支
                第一步:切换到接受修改的分支(被合并,增加新内容)上
                       git checkout[被合并分支名]
                第二步:执行merge命令
                       git merge[有新内容分支名]
            解决冲突
                第一步:编辑文件,删除特殊符号
                第二步:把文件修改到满意的程度,保存退出
                第三步:git add[文件名]
                   第四步:git commit -m "日志信息"
                        attention:此时不能带具体文件名

    克隆
        命令
            git origin [远程地址]

      克隆有三个效果
              *.完整的把远程库下载到本地
              **.创建origin远程地址别名
              ***.初始化本地库    
    拉取
        pull == fetch + merge
          git fetch [远程库地址别名][远程分支名]
          git merge [远程库地址别名/远程分支名]

    解决冲突:
        如果不是基于远程库的最新版所做的修改,不能推送,必须先拉取
        拉取下来如果进入冲突状态,则按照'分支冲突解决'操作解决即可

    本地修改,推送到远程

    ---------------------------------------------
    SSH登录
        进入当前用户的家目录
          cd ~
        删除.ssh目录
          rm -rvf .ssh
        运行命令生成.ssh密钥目录
         ssh-keygen -t rsa -C 邮箱地址
            [注意:这里-c这个参数是大写的C]
        进入.ssh目录查看文件列表
          cd .ssh
        查看id_rsa.pub文件内容
          cat id_rsa.pub
        复制id_rsa.pub文件内容,

     登录GitHub,点击用户头像-->Setting-->SSH and GPG keys  --> New SSH Key
        输入复制的密钥信息
        回到Git bash 创建远程地址别名
          git remote add origin_ssh 远程地址

    ----------------------

    git 工作流

      分类

        集中式工作流
              GitFlow工作流
              Forking工作流

  • 相关阅读:
    GridView点击行触发SelectedIndexChanged事件
    javascript 功能大全
    scrollHeight、offsetHeight、clientHeight
    鸟哥的 Linux 私房菜
    谈谈对程序员的培养
    UTF8编码中的BOM字符 引起Session/Cookies失效
    “Request 对象 错误 'ASP 0104 : 80004005' 不允许操作
    生成网站,如何不生成.pdb文件?
    小心swfupload 的cookie Bug
    使用vbs脚本检查网站是否使用asp.net
  • 原文地址:https://www.cnblogs.com/xzpin/p/10816608.html
Copyright © 2011-2022 走看看