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 在同一条分支上,你和你的同事改了同一个文件的同一段代码,出现冲突

 

posted @ 2020-12-23 11:17  1024bits  阅读(331)  评论(0编辑  收藏  举报