【Git】基础操作

初识Git

  1. 版本控制的方式:

    • 集中式版本控制工具:版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作,局域网或者互联网。个人修改之后要提交到中央版本库

      例如:SVM和CVS

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

      例如:Git

  2. Git的工作流程图

    命令如下:

    • clone(克隆):从远程仓库中克隆代码到本地仓库
    • checkout(检查):从本地仓库中检出一个仓库分支然后进行修订
    • add(添加):在提交前将代码提交到暂存区
    • commit(提交):提交到本地仓库。本地仓库中保存修改的各个历史版本
    • fetch(抓取):从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少
    • pull(拉取):从远程库拉到本地库,自动进行合并(merge),然后放到工作区,相当于fetch+merge
    • push(推送):修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库

Git的常用命令

创建版本库

  1. 创建一个空目录

    • cd:打开你所要打开的系统盘

      bash 复制代码
      cd F:
    • 创建一个空的目录:hhh

      bash 复制代码
      makdir hhh
    • 显示当前目录

      bash 复制代码
      pwd
  2. 初始化仓库

    使用git init命令把这个目录变成git可以管理的目录

    bash 复制代码
    git init

基础操作指令

    • 创建一个text.txt文件

      bash 复制代码
      touch text.txt
    • 添加文件到暂存区

      bash 复制代码
      git add text.txt
      git add . -> 将所有修改过的文件添加到暂存区,使用这个命令可以批量添加所有已修改文件的更改
    • 添加文件到仓库

      bash 复制代码
      git commit -m"对于本次提交的说明"
    • 修改文件

      bash 复制代码
      vi text.txt

      输入此操作,会进入文件内容中,按下i:使用插入方法对文章进行修改

      退出时先按ESC,再同时按:ESC + shift + z + z

    • 查看修改内容(每次修改之后都要重新提交)

      bash 复制代码
      git diff text.txt
    • git add了一个文件,但要将此文件删除

      bash 复制代码
      rm text.txt
    • 查看历史提交记录

      bash 复制代码
      git log
      git relog -> 可以看到已删除的提交记录

      后面加上后缀

      --all:显示所有分支

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

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

      --graph:以图的形式显示

    • 回退到上一个版本:第一种是:git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset --hard HEAD~100 即可

      bash 复制代码
      git reset --hard HEAD^
      git reset --hard HEAD^^
      git reset --hard HEAD~100 

分支

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

  1. 查看本地分支
bash 复制代码
git branch
  1. 创建本地分支
bash 复制代码
git branch 分支名
  1. 切换分支
bash 复制代码
git checkout 分支名

直接创建并切换

git checkout -b 分支名
  1. 合并分支:一个分支上的提交可以合并到另一个分支(将分支名中的提交记录记录到当前分支上)
bash 复制代码
git merge 分支名称
  1. 删除分支:不能删除当前分支,只能删除其他分支

    git branch -d b1 -> 删除分支时,需要做各种检查
    git branch -D b1 -> 不做任何检查,直接删除

  2. 解决冲突
    当多个分支上同时对同一个文件的同一位置进行修改,就需要手动解决冲突

  • 处理文件的冲突地方
  • 将解决完冲突的文件加入暂存区(add)
  • 提交给仓库(commit)
  1. 开发中分支的使用原则与流程
    • master(产生)分支:线上分支,主分支,中小规模项目作为线上运行的应用对应的分支
    • develop(开发)分支:是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完成后,需要的是合并master分支上,准备上线
    • feature分支:从develop创建的分支,一般是同期并行开发,不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支
    • hotfix分支:从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、develop分支
    • test分支:用于代码测试
    • pre分支:预上线分支
相关推荐
唔知小罗11 分钟前
git config是做什么的?
git
不是鱼6 小时前
新人程序猿必备的git技能(超实用基础版)
git·github
Exclusive_Cat9 小时前
Git的使用(基础语句)
git
江上清风山间明月9 小时前
git撤销、回退某个commit的修改
git·commit·版本·撤销·回退·特定
cui_win9 小时前
Redis高可用-主从复制
redis·git·github·主从复制·哨兵
Anlici12 小时前
大厂怎么用Git命令
git
谎言西西里13 小时前
Git入门指南:掌握基本概念与日常操作
git·github
程序员buddha14 小时前
git版本工具使用教程
git
tian-ming19 小时前
技术栈2:Git分布式版本控制工具
git
算你狠 - ZGX20 小时前
Git - 日志
git