git的使用

1.git的官网和含义

2.部署

使用

版本控制

3.git 的基础命令 like linux

4.创建仓库

git init

5.git的使用

1.git管理版本控制的工作流程

2.切换版本

3.分支

4. 工作区 v s暂存区 vs本地仓库

6.git目录介绍

7.紧急任务

git stash

8.仓库备份:克隆

9.本地仓库 与远程仓库的链接

10.使用场景t的使用

1.git的官网和含义

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

     1.分布式版本控制系统:记录文件变化的,可以指定版本恢复 
      种类:
           1.本地版本控制系统
                 优点 :
                      简单
                 缺点:
                      1.易出错
                      2.代码即成效率低下
            
            2.  集中式版本控制系统
                优点:
                      1.多人协同开发
                缺点:
                      1.单点故障
            3.分布式版本控制系统
                       解决:单点故障  多人协同开发
                  1.clients

                  2.server
                 优点: 
                       1.高效
                       2.性能高
                       3. 分支操作、文件备份、定制工作流程
        
         2.文件版本控制:
              1.本地仓库
              2.远程仓库

2.部署

      1.下载(官网)
     
     2.安装(官网)
  
      3.使用
     
        1.git 软件 工具
        1.可视化界面进行操作 

        2.版本控制:
                    1.使用前配置
                        git  config --global user.naem "lcatake"
                        git config --global user.email 2164714453@qq.com
                    2.设置git参数 =》本地仓库
                    帮助: git config --help
                                      --global  全局(当前用户,所有仓库)
                                      --system   对系统所有登录用户
                                      --local    对某个仓库有效
                   3.查看 配置参数
                         git config  --list --global 
                                            --system
                                            --local 

3.git 命令 like linux
1.帮助: git
2.版本: git -v
3.查看当前目录:pwd
4.查看文件:ll
5.切换目录:cd
6.创建文件:vim

4.创建仓库
1.项目:开发的代码文件
2.仓库:本地仓库 用于进行文件的版本控制
3.git init:
1.创建一个仓库
2.重新初始化一个 已经存在的仓库
3. 项目
1.项目存在:
cd 项目文件夹
git init
2.项目不存在:
git init test01(初始化:生成一个以 .git的文件夹(进行版本控制))

5.git的使用
1.git管理版本控制的工作流程:
工作区:项目目录
暂存区(index):临时存储文件
本地仓库:版本控制,存放各个版本的历史
1.将1.log文件加入到暂存区
git add 1.log 2.log
git add -u (工作区和暂存区文件名称一致) (更新)
2.将暂存区文件提交到本地仓库
git commit -m " Add 1.log"
git commit -am “Updata” (将已有文件从工作区自动添加 到本地仓库)
3.查看版本(历史日志)
git log : 当前项目最新的commit历史
git log --reflog:当前项目以前的commit历史
git log --oneline commit历史简写为每个历史一行
git log --oneline commit -n 2 显示最近几个commit
git log --oneline commit master 指定查看分支名字
git log --oneline --gragh 以图像化展示分支的commit历史
git log --oneline --gragh --all以图像化展示所有分支的commit历史
git log --reflog --oneine
gitk --all:
1.分支线, 历史树
2.path =》记录当前commit 变更文件
3.tree =》 记录当前commit 下文件结构

              2.切换版本(指定head 的状态)
                       git reset --hard [<commit(哈希值)>]
              
              3.分支:
                       一个分支一条线
                       默认分支
                          主分支:主线 master
                          帮助 git branch:
                          1.创建分支
                            git branch -c [<branch>](默认从master复制)
                            git checkout   -B <new branch>(分支名) <start-point>(插入位置的哈希值)创建分支的同时切换分支

                          2.查看分支
                             git branch -v
                             git branch -av(查看本地仓库和远程仓库分支)
                          3.切换分支
                             git checkout [<branch>]   
                          4.删除分支
                             git branch -d <branchname> 必须merge(合并分支)
                                        -D <branchname> 强制删除分支
                       

                          5.修改commit的msg信息
                                   1.修改最新的commit的msg信息(哈希值会变)
                                   git commit --amend                        
                                   2.修改之前某一个commit的msg 
                                    git rebase (变基)基于之前某一个commit 进行修改当前的commit
                                               -i 交互式
                                               -p 选择
                                               -r 重写某个commit
                                               
                                   3.合并多个commit的msg合并成一个commit msg
                                      git rebase -s 合并 
                                         p 合并到的表
                                         s 要合并的表
                                         s 要合并的表
                       
                       
                       
              4. 工作区 v s暂存区 vs本地仓库
                           1.文件差异 
                            git status =》文件的个数 名字
                           2.查看文件内容差异
                                  1.工作区vs 暂存区
                                    git diff
                                  2.暂存区vs 本地仓库
                                    git diff --cashed
                           3.比较不同commit之间的差异
                                  git diff 哈希值1 哈希值2
                                  git diff HEAD(head指向的commit) 
                                  git diff HEAD HEAD~1(head指向的commit的前一个)
                           4.回复操作,撤回
                                   工作区 vs暂存区 vs本地仓库
                                  1. 工作区 =》暂存区
                                          1.git add
                                            git restore --staged <file>
                                           2.工作区:
                                             编写代码(git add 之前)
                                            git restore  <file>
                                   2.暂存区 =》本地仓库
                                      git reset --hard head 
                                  3.删除文件 文件重命名
                                      git: 
                             5.删除文件 : git rm
                            6.文件重命名: git mv    

6.git目录介绍
1.HEAD 文件 当前项目 正在工作的分支
2.config :
记录项目的一些参数,一些配置信息
查看用户名称 :git config --local user.naem
3.refs/
heads/ 存储的是分支的指向 那个commit
commit hash(哈希值)=》 对应存储内容
查看 : git 擦头-file -t =》 文件类型 =>git 存储文件有关
-p =》文件内容
objiect:
commit:
tree:
tree =》文件夹
blob =>文件
git存储文件高效的原因:
不同的文件 只要文件内容有相同的部分就是

7.紧急任务
开发代码=》 线上bug =》commit
=》 开发代码 存起来 =》恢复开发

             1.开发代码   
             vim 2.log
             
             2.存起来
             git stash
             git stash list (代码存储处)
             
             3.恢复 解决bug之前的代码
               git statsh apply
                    11. 。gitignore
                     可以指定文件不需要被git管控
                        =》 xxx.java 
                        => xxx.calss
                        =>.idea 文件夹里的文件

8.仓库备份:克隆

            git clone <repository> [<directory>]
            repository:仓库
               本地仓库:path(路径) 
               远程仓库:url(地址)
             
               1.本地仓库 备份到本地
               git clone /e/test/music/.git(指定到 .git) music_blk
               
               2. 远程仓库 备份到本地
                远程仓库: 
                本地项目
                代码托管平台:github、gitlab、gitee
                git clone http;//192.168.41.110/dl2262/dl2262.git 

9…本地仓库 与远程仓库的链接

               1.本地仓库链接到远程仓库
                   git remote add <name> <URL>
                   git remote add gitlab  http;//192.168.41.110/dl2262/test01.git(从gitlab中的clone复制)
         
               2.检查远程仓库的链接
                    git remote -v
                         fetch(拉,下载)
                         puth(推,上传)(更新远程仓库的分支) 
                         pull= fetch+merge
         
               3.本地仓库 push远程仓库
                    git push [--all]
                    git push [<repository(远程仓库)>[<refspec>(分支)...]]
                    git push gitlab master 
             
               报错:
                     1. dev =》 本地dev =》 远程 自动创建dev分支
                     2. master(fetch first) 解决:
                            先拉下来
                            git fetch/git pull  :
                                 1.git fetch  [<repository>] [<refspec>...]
                                    1.git fetch gitlab master =》默认先把远程拉下来 但文件没有和本地分支进行合并
                                    2.git merge 远程分支
                                 2.git fetch --all =》所有分支 
                     报错:fatal:refusing to merge unrelated histories
                         git merge  gitlab/master --allow-unrelated-histories(允许没有合并历史的分支进行合并)

10.场景:
1.多人协同开发
1.多人共同维护同一个分支 操作不同的文件
1.远程仓库创建一个分支
bigdata
2.准备两个本地仓库
git clone http;//192.168.41.110/dl2262/text01.git text01_blk
3.zahngsan 开发项目到本地仓库
lisi 开发项目到本地仓库
1.git fetch
2.git merge
3.git push
注意:
1.拉取远程仓库代码 =》本地仓库 和 远程仓库保持一致

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值