• git的安装及使用(一)


     一、git介绍

    1.git是什么

    是一种用于协同开发的版本管理工具

    2.git能干什么?

    (1)完成 协同开发 项目,帮助程序员整合代码
            帮助开发者合并开发的代码
            如果出现冲突代码的合并,会提示后 提交合并代码的开发者,让其解决冲突
    (2)2种Git软件:SVN、Git(都是同一个人的个人项目)
            svn(集中式管理)--->现在基本不用了
            git(分布式管理、协同开发、版本管理)--->推荐使用
    
    (3)常用的git版本控制器管理代码的公共平台
            github
            gitee
    (4)git:集群化、多分支

    3. github,gitee,gitlab:区别

     -github:一般开源的代码放再github,代码托管平台(公有仓库,私有仓库),公司代码不会放在这上面
     -gitee(码云):中国的github,开源代码放在公有仓库,有一部分公司的公司代码托管到gitee的私有仓库(公司代码可放在码云上)
     -gitlab:公司自己的搭建github,公司内部自己访问(推荐公司用,可在docker上拉一个gitlab镜像,跑起来即可)

     注意:gitlab是公司运维人员搭建的(开源的git远程仓库);使用起来跟gitee没有区别

    4.git的下载安装

    # 1.下载对应版本:https://git-scm.com/download
    # 2.安装git:在选取安装路径的下一步选取 Use a TrueType font in all console windows 选项

    打开git官网,下载软件包,一路下一步安装好

    5.整体流程

    1.有红色信息(工作区有内容),就执行 add
    2.全绿信息(内容全部在暂存区),才执行 commit
    3.只有被版本库控制的代码,才能被监听,所以可以回滚到任何一个版本

    二、核心操作

    1.初始化仓库

    #将已有的文件夹 - 初始化为git仓库
    '''
    >: cd 目标文件夹内部
    >: git init
    '''
    注意:.git目录默认隐藏,可以通过命令ls -ah显示
    
    
    #在指定目录下 - 初始化git仓库
    """
    >: cd 目标目录
    >: git init 仓库名
    """

     右键---》点击git bash(相当于pycharm中的terminal窗口,支持linux命令)进入以下界面

     

    或者用以下方式:

    这里我新建了一个文件夹guogit(默认建在桌面上,不好)

    一般都是隐藏的,可以显示隐藏文件,就会看到

     

     2.git的工作流程

    1 工作区:工作的目录,文件夹下,放一些文件,文件中写内容
    2 暂存区:工作区的更改,提交到暂存区(在暂存区临时存储)
    3 版本库:本地文件,内容变更记录
    
    4 git相关操作(一堆命令)
        -git init     # 初始化仓库,把当前路径,被git管理起来
        -git init a   # 创建出一个文件夹,改文件夹被git管理(.git隐藏文件)
        '''
       #很多命令都同linux的命令
      echo '222' > d.txt #工作区新增内容位222的文件
      touch e.txt #工作区新增文件
      vi e.txt #工作区编辑文件
      rm e.txt #工作区删除文件
      '''
    
        -git status   # 查看状态
            -红色:更改没有被提交到暂存区
            -绿色:更改被提交到暂存区,但是没有被提交到版本库
        # 提交到暂存区
            -git add a.txt # 把a.txt提交到暂存区  (git add .)
            -git add .   # 当前路径下所有更改,提交到暂存区
            -git reset . # 把提交到暂存区的,拉回到工作区(很少用)
        # 从暂存区提交到版本库(不能从工作区直接提交到版本库)
            -要往版本库提变更,需要先配置用户
            # 全局配置(用户家路径记录:.gitconfig)
            git config --global user.email "lqz@qq.com"
              git config --global user.name "lqz"
            # 局部配置 (当前路径下配置文件中记录:.git-->config)
            git config  user.email "egon@qq.com"
              git config  user.name "egon"
            # 从暂存区提交到版本库(必须加注释,不加注释提交不上去)
            git commit -m '注释注释一定要加,并且有意义'
            
            # 查看log
            git log  # 看到版本库中谁提交了什么,写了什么注释,在什么时间,每个版本都有一个id号
            git reflog # 精简(详细)展示
            #查看时间点之前|之后的日志:
            >: git log --after 2018-6-1
            >: git log --before 2018-6-1
            >: git reflog --after 2018-6-1
            >: git reflog --before 2018-6-1
            #查看指定开发者日志
            >: git log --author author_name
            >: git reflog --author author_name
            # 回滚(回滚到版本管理的最新的位置)
              git checkout .
       #回滚(回滚到指定版本)
         git reset --hard 版本号(写一部分就能识别)
         如下案例:git reset --hard 39e52 

    2.1命令演示

     自己在guogit文件夹里手动创建出a.txt  b.txt  c.txt三个文件夹并写入内容

     错了之后,自己手动把刚创建的删除。

    也可以用命令新增文件

     也可以用命令删除文件

     此时已经把a b c三个文件都提交到暂存区了

     更改c.txt内容,并提交版本库

     把版本库回滚到c.txt没有更改前的状态

    注意:

     删除工作区的文件

    3.git 分支

    1 分支查看:git branch  # 绿色表示当前所在分支
    2 分支创建:git branch dev # 创建分支的代码,基于master创建出来的,代码现在跟master一样
        -在那个分支上创建分支,目前新分支和所在分支代码一样
    3 分支删除:git branch -d dev
    4 切换分支 :git checkout dev
    5 分支合并
        git merge 分支名
        现在在dev分支,要把dev分支合并到master分支:先切换到master分支,再执行合并dev分支的命令
        
    6 创建并切换到某个分支(两部并作一步)
        git checkout -b 分支名

     小案例:

    在dev分支新增f.txt文件,提交到版本库后,把dev支合并到master分支

     

     

    4.git提交代码出现冲突的两种情况

    1 分支合并时,出现冲突
    2 在同一条分支上,你和你的同事改了同一个文件的同一段代码,出现冲突
  • 相关阅读:
    SSH 远程执行任务
    C# 创建压缩文件
    迁移 SQL Server 到 Azure SQL 实战
    在 Azure 上部署 Asp.NET Core Web App
    linux kill 命令
    VS 远程调试 Azure Web App
    Azure 基础:自定义 Table storage 查询条件
    NSOperation的使用细节 [2]
    NSOperation的使用细节 [1]
    [翻译] SSKeychain
  • 原文地址:https://www.cnblogs.com/guojieying/p/14177527.html
Copyright © 2020-2023  润新知