3小时掌握 Git

本文介绍了分布式版本控制工具Git的特点,如其无中央服务器的结构、离线工作能力以及强大的分支管理。详细讲解了Git的常用命令,包括clone、checkout、add、commit、fetch、pull和push等,以及Git的工作目录、分支管理(如master和develop)、远程仓库的连接和冲突解决策略。
摘要由CSDN通过智能技术生成

概述

  1. 版本控制器的方式

    • 集中式版本控制工具

      版本库是存放中央服务器的,team里每个人工作时从中央服务器下载代码,是必须联网才能工作,局域网或互联网。个人修改,然后提交到中央版本仓库。

    • 分布式版本控制工具

      分布式版本控制系统没有“中央服务器”,每个人电脑都是一个完整的版本库,这样工作的时候,就无需联网了。多人协作只需要将各自的修改推送给对方,就能看到互相的修改了。

  2. Git有点:

    • 速度

    • 简单的设计

    • 对非线性开发模式的强力支持(允许成千上万并行开发的分支)

    • 完全分布式

    • 有能力高效管理类似 Linux 内核一样超大规模的项目(速度和数据量)

  3. Git工作流程

命令如下:

  1. clone(克隆):从远程仓库中克隆代码到本地仓库

  2. checkout(检出):从本地仓库中检出一个仓库分支然后进行修订

  3. add(添加):在提交前先将代码提交到暂存区

  4. commit(提交):提交到本地仓库。本地仓库中保存修改的各个历史版本

  5. fetch(抓取):从远程库,抓取到本地仓库,不进行任何合并动作,一般操作比较少。

  6. pull(拉取):从远程库拉取到本地库,自动进行合并(merge),然后放到工作区,相当于fetch +merge

  7. push(推送):修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库

Git安装与常用命令

Git安装

  1. git环境配置

  2. git获取本地仓库

基础操作指令

Git工作目录下对于文件的修改会存放几个状态,这些修改的状态会随着我们执行Git命令而发生变化

git add (工作区 --> 暂存区)

git commit (暂存区 --> 本地仓库)

  • git status 查看修改状态(暂存区、工作区)

  • git add 单个文件名|通配符 添加工作区一个或多个到暂存区

    • 将所有修改加入暂存区: git add.

  • git commit -m '注释内容' 提交暂存区内容到本地仓库的当前分支

  • git log [options] 查看提交日志

    • --all 显示所有分支

    • --pretty=oneline 将提交信息显示为一行

    • --abbrev-commit 使得输出的commit更简短

    • --graph 以图的形式显示

  1. 版本回退

    • 作用:版本切换

    • 命令形式:git reset --hard commitID

      • commitID 可以使用git-log或 git log 指令查看

    • 如何查看已经删除的记录

      • git reflog

      • 这个命令可以看到已经杀删除的提交记录

  2. 添加文件到忽略列表

    创建一个 .gitignore

分支

几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从主线上分离开进行重大bug的修改,开发新的功能,以免影响主线

  1. 查看本地分支

    • git branch

  2. 创建本地分支

    • git branch 分支名

  3. 切换分支

    • git checkout 分支名

    • 我们还可以直接切换到一个不存在的分支(创建并切换)

      git checkout -b 分支名

  4. 合并分支

    • 一个分支上的提交可以合并到另一个分支

      git merge 分支名称(当前分支和你选择的分支合并)

  5. 删除分支

    • 不能删除挡墙分支,只能删除其他分支

      • git branch -d b1 删除分支时,需要做各种检查

      • git branch -D b1 不做任何检查,直接删除

  6. 解决冲突

    • 两个分支对文件的修改可能导致冲突,例如同时修改了文件同一行,需要手动解决冲突,解决方法如下:

      • 处理文件中冲突地方

      • 将解决完的冲突放到暂存区

      • 提交到仓库(commit)

  7. 开发中分支使用原则与流程

    • master (生产)分支

      • 线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;

    • develop (开发)分支

      • 是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完成后需要合并到master分支,准备上线

    • 在master中发现的bug需要先合并到develop分支然后合并到master

远程仓库

【精选】Github——git本地仓库建立与远程连接(最详细清晰版本!附简化步骤与常见错误)_git配置远程仓库-CSDN博客

  1. 查看远程仓库

    git remote
  2. 推送到远程仓库

    • 命令

      git push [-f] [--set-upstream][远端名称[本地分支名][:远端分支名]]
      • 如果远端分支与本地分支名称相同,则可以只写本地分支

        git push origin master
    • -f 表示强制覆盖

    • --set-upstream 推送到远端的同时并且建立起和远端分支的关联关系

      git push --set-upstream origin master
    • 如果 当前分支已经和远端分支关联 ,则可以省略分支名和远端名

      git push
      • 查看本地分支和远程分支对应关系

        git branch -vv
  3. 从远程仓库克隆

    如果已经有一个远端仓库,我们可以直接clone到本地

    • 命令:

      git clone <仓库路径>[本地目录]
      • 本地目录可以省略,会自动生成一个目录

  4. 从远程仓库中抓取和拉取

    远程分支和本地分支一样,我们可以进行merge操作,只需要把远端仓库的更新都下载到本地,在进行操作

    • 抓取 命令:

      git fetch [remote name][branch name]
      • 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并

      • 如果不指定远端名称和分支名,则抓取所有分支

    • 拉取 命令 :

      git pull [remote name][branch name]
      • 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于 fetch + merge

      • 如果不指定远端名称和分支名,则抓取并更新当前分支

  5. 解决合并冲突:

    • 和本地操作类似,找到冲突文件再push上去

先pull在切换分支!!!

                 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Benaso

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值