Git使用

基准

基准的命名有⼀个⾮常常⽤的三点命名法。
在这里插入图片描述
A:从⽤户(消费者)⻆度看到的发布出的标记数(Release)
B:从开发者⻆度看到的关键的版本(Version)号
C:从开发者⻆度关注的修改版本(Revision)号

版本(Version):初发布或再发布的“代码及其附属品”的组合,它应该是 可被完整编译或被认定为完整可⽤的。不同的版本表现出不同的功能特性。
修改(Revision):对于⼀个版本的修改,只做了代码设计的错误修正,对 于已经“附属品”中⽂档所描述的功能特性没有任何改动。
发布(Release):被批准的⾯向⽤户进⾏分发的版本。

Git

在这里插入图片描述

Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

本地 Git 仓库的三个分区

  1. ⼯作⽬录(修改/没修过的⽂件) working directory
  2. 暂存区(暂存的⽂件) staging area
  3. Git 仓库(提交的⽂件) repo

Git 中⽂件⽣命周期

在这里插入图片描述

基本Git使用

在这里插入图片描述

配置⼀个 Git 仓库:

  • Git init :创建 Git 仓库,让当前 ⽬录处于 Git 管理之下
  • Git clone :将⼀个已经存在的 Git 仓 库克隆到本地
  • Git config :对 Git 的基本配置进⾏ 设置(如邮箱、姓名)

初次使⽤时:

  • git config --global user.name “your name”
  • git config --global user.email “your email”
    令配置被写⼊ ~/.gitconfig

创建仓库:

  • 在当前⽬录下创建 git init
  • 在指定的⽬录创建 git init <指定的⽬录路径>
  • 创建⼀个 bare git 仓库 git init —bare myrepo.git

克隆仓库:

  • 克隆本地仓库 git clone /path/to/repo.git
  • 克隆远端仓库
    git clone http://gitlab.inspurcloud.cn/WuHanU/slides.git
  • 通过 ssh 协议完成克隆
    git clone git@gitlab.inspurcloud.cn:WuHanU/slides.git
  • 通过remote连接本地仓库和远程仓库
    git remote add origin 远程仓库地址

添加和提交:

  • git add <文件名>
  • git commit -m “注释”

查看仓库状态:
git status
在这里插入图片描述

查看历史:

  • 查看仓库提交历史:git log
  • 查看仓库提交历史(近3次详情):git log -3 -p
  • 查看仓库提交历史(逐⾏看):git log
    –oneline --graph

Git 的多⼈协作 / 远程仓库

在这里插入图片描述

分⽀:

  • 查看现有分⽀ git branch
  • 创建分⽀git branch <分⽀名>
  • 切换分⽀git checkout <分⽀名>
  • 创建并切换到分⽀ git checkout -b <分⽀名>
  • 删除分⽀git branch -d <分⽀名>

合并:
合并某分支到当前分支:git merge name
在这里插入图片描述

  • git merge --no-ff
    在这里插入图片描述

  • git merge --ff-only

在这里插入图片描述

在这里插入图片描述

合并的默认⾏为:

  • 只执⾏ git merge 时,如果可以 fast-forward,则 fast-forward ,否则进⾏ non fast-forward merge。
  • 在 non fast-forward merge 过程中,会尝试合并修改, 如果发⽣不能⾃动合并的冲突,则需要⼿动解决冲突。

拉取和推送:

  • 拉取更新不更新⼯作⽬录 git fetch
  • 拉取更新并更新⼯作⽬录 git pull
  • 从远端 origin 的指定 master 分⽀进⾏拉取
    git pull origin master
  • 推动更新 git push
  • 向远端 origin 的指定 branchname 分⽀进⾏推送
    git push origin master

场景:中⼼化⼯作流

在这里插入图片描述

场景:功能分⽀⼯作流

在这里插入图片描述

本地与远程仓库冲突

  • 先把远程的代码拉到本地的一个新的分支上
    git fetch remoteName remoteBranch:newBranch
  • 查看新的分支和本地分支的区别(可以查看差别)
    git diff newBranch
  • 将本地分支和新的分支进行合并
    git merge newBranch [–allow-unrelated-histories]
    注意:其中–allow-unrelated-histories是可选项,当报错“refusing to merge unrelated histories”时加上该选项就可以进行merge。
    在进行pull操作时如果也报这个错误也可以加上这个选项。
  • 进行push操作就可以
  • 删除这个新的分支
    git branch -d newBranch
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值