Git中bundle命令的使用详解

目录
  • 1. 打包
  • 2. 验证
  • 3. 查看分支
  • 4. 导入bundle
    • 4.1. 没有gitlab服务器
    • 4.2. 有gitlab服务器
      • 4.2.1 从bundle中clone
      • 4.2.2 从bundle中fetch

1. 打包

用git bundle create命令来打包

# dev指具体的分支名称,repo指项目代码仓库的名称
# 产生的repo.bundle 包含了所有重建该仓库 dev分支所需的数据
git bundle create repo.bundle HEAD dev

2. 验证

用git bundle verify校验是否合法
此命令需要在项目代码仓库目录下执行,否则会报:git bundle need a repository to verify a bundle

git bundle verify repo.bundle

3. 查看分支

#用git bundle list-heads列出顶端提交
git bundle list-heads repo.bundle
#在远程存储库中列出引用
git ls-remote repo.bundle

4. 导入bundle

4.1. 没有gitlab服务器

开发环境中没有gitlab服务器,修改代码后只提交到本地

# 导入的项目没有.git目录
git clone repo.bundle

4.2. 有gitlab服务器

4.2.1 从bundle中clone

开发环境中没有gitlab服务器,修改代码后需要提交到gitlab服务器

  • 在gitlab上创建代码仓库【注意:不要创建bundle中的分支】
  • 从bundle包中clone git clone repo.bundle
  • cd 仓库目录
  • 执行如下命令
git remote rename origin old-origin
git remote add origin http://ip:port/xxx/xx.git
git push -u origin -all
git push -u origin --tags

4.2.2 从bundle中fetch

开发环境中没有gitlab服务器,修改代码后需要提交到gitlab服务器

  • 在gitlab上创建代码仓库【注意:不要创建bundle中的分支
  • 将代码仓库clone到本地,
  • cd 仓库目录
  • fetch bundle中的分支
# 前面的dev是repo.bundle的分支,后面的dev是生成的新分支
git fetch repo.bundle dev:dev

将本地分支同远程分支进行关联

git push -u origin dev
# 相同作用的命令
git push --set-upstream origin dev

如何将本地分支同远程分支进行关联 本地已经创建了分支而远程没有

可以通过以下2种方法在远程创建分支dev,并与本地分支进行关联:

  • 方法1: git push -u origin dev
  • 方法2: git push --set-upstream origin dev

在本地创建分支并与远程分支进行关联,也有2种方法:

  • 方法1: 分为两步:
  • step1:先将远程分支pull到本地 git pull origin dev
  • step2:再在本地创建分支并与之关联,又有2种方法

git checkout -b dev origin/dev
git checkout -b dev --track origin/dev #可以简写为git checkout --track origin/dev

  • 方法2:可以在pull远程分支的同时,创建本地分支并与之进行关联

git pull origin dev:dev-------两个dev分别表示远程分支名:本地分支名

到此这篇关于Git中bundle命令的使用的文章就介绍到这了,更多相关Git中bundle命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • git中cherry-pick命令的使用教程

    git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作.例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0中的功能到v2.0中,这里就可以使用cherry-pick了,其实也就是对已经存在的commit 进行再次提交. 简单用法: git cherry-pick <commit id> 例如: $ git checkout v2.0分支 $ git ch

  • git checkout 命令使用详解

    在日常的git操作中,git checkout--检出,是我们的常用命令.最为常用的两种情形是创建分支和切换分支. 在下面的命令中,使用了一些简写,在这里说明一下: git st # git status git ci # git commit git br # git branch git co # git checkout git mg # git merge git line # git log --oneline 当然,你也可以直接在git中敲命令,将这些简写添加到git配置中 git

  • git 使用及常用命令

    git在团队项目中的使用流程 1.首先从一个git远程仓库中clone项目到本地 git clone 仓库地址 2.创建开发分支 一般我们写代码不会在master分支上面写,而是新建一个分支 git checkout -b test 3.在test分支上面进行代码修改,比如完成某一项功能的开发 4.修改完之后提交代码到test分支 git add . git commit -m "your comment" 5.review代码(非必需) 在test分支上面开发完某一个功能之后,建议自

  • 使用git命令上传代码

    利用git将本地代码提交到远程服务器一般分为如下5个步骤: 一.查看当前文件的状态 使用git status命令可以查看有那些文件进行了修改,一般有下面几个状态: 1.Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged. 2.Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 3.deleted: 文件已删除,本地删除,服务器上还没有删除. 示例如下: 打开git bash客户端,然后输入g

  • Git rebase命令使用实战

    一.前言 一句话,git rebase 可以帮助项目中的提交历史干净整洁!!! 二.避免合并出现分叉现象git merge操作 1.新建一个 develop 分支 2.在develop分支上新建两个文件 3.然后分别执行 add.commit.push 4.接着切换到master分支 分别添加c.txt 和 d.txt两个文件,分别进行add.commit.push 5.现在想把develop分支上开发的部分合并到master分支上 6.git merge 会将master和develop合并的

  • Git中bundle命令的使用详解

    目录 1. 打包 2. 验证 3. 查看分支 4. 导入bundle 4.1. 没有gitlab服务器 4.2. 有gitlab服务器 4.2.1 从bundle中clone 4.2.2 从bundle中fetch 1. 打包 用git bundle create命令来打包 # dev指具体的分支名称,repo指项目代码仓库的名称 # 产生的repo.bundle 包含了所有重建该仓库 dev分支所需的数据 git bundle create repo.bundle HEAD dev 2. 验证

  • 批处理BAT脚本中set命令的使用详解(批处理之家Batcher)

    目录 一.使用 set 命令进行赋值 1.等号两边不要有空格 2.变量值包含特殊字符需用双引号 3.避免使用系统环境变量同名的自定义变量 4.语法可行但不推荐使用 二.使用 set /p 命令读取输入 三.使用 set /a 命令进行数学运算(1) 四.使用 set /a 命令进行数学运算(2) 五.使用 set 命令进行字符串截取 六.使用 set 命令进行字符串替换 七.set命令知识点(1)把命令结果赋值给变量 八.set命令知识点(2)显示以某字符开头的变量 一.使用 set 命令进行赋

  • Java中jstat命令的使用详解

    目录 jstat命令简介 jstat命令参数 输出选项 -class选项 -compiler选项 -gc选项 -gccapacity选项 -gcutil选项 -gccause选项 -gcnew选项 -gcnewcapacity选项 -gcold选项 -gcoldcapacity选项 -gcmetacapacity选项 -printcompilation选项 附实例使用:统计gc信息 总结 jstat命令简介 jstat(Java Virtual Machine Statistics Monito

  • Git命令之分支详解

    1.1 概述 在 Git 中提交时,会保存一个 commit 对象,该对象包含一个指向暂存内容快照的指针,包含本次提交的作者等相关的附属信息,包含零个或者多个指向该提交对象的父对象指针:首次提交时没有直接祖先的,普通提交有一个祖先,由两个或者多个分支合并产生的提交则有多个祖先. 1.1.1 示例 在工作目录中有三个文件,准备将他们暂存后提交.暂存操作会对每一个文件计算校验和(SHA-1哈希串),然后把当前版本的文件快照保存在 Git 仓库中(Git使用blob类型的对象存储这些快照), 并将校验

  • 详解Linux中zip压缩和unzip解压缩命令及使用详解

    下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解 1.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩mydata目录 2.把/home目录下面的mydata.zip解压到mydatabak目录里面 unzip mydata.zip -d mydatabak 3.把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip zip -r abc123.zip abc 123.txt 4.把

  • git 一个可以提高开发效率的命令:cherry-pick详解

    各位码农朋友们一定有碰到过这样的情况:在develop分支上辛辛苦苦撸了一通代码后开发出功能模块A,B,C,这时老板过来说,年青人,我们现在先上线功能模块A,B.你一定心里一万只草泥马奔腾而过,但为了混口饭吃必须得按老板的意思办事啊. 怎么办?一个办法就是,重新建一个分支,然后再把功能模块C回退,留下功能模块A,B.这种做法不是不行,但是有更好的办法,那就是git所提供的cherry-pick功能. cherry-pick类似于一个定制化的merge,它可以把其它分支上的commit一个个摘下来

  • idea中加入git版本控制的方法及步骤详解

    idea中加入git版本控制: 在idea中加入git版本控制,方便团队中多人协同开发,项目可以同时方便进行管理和迭代.下面就是idea中加入git 的方法和步骤啦 将本地项目上传到远程仓库的 一:第一步,找到git安装地址,加入到idea中 二:第二步 三:第三步 四:第四步 五:第五步 idea解决远程项目与本地项目的冲突问题 再在本地idea中将本地项目push到远程仓库,此时这里idea会自动将远程仓库中修改的项目拉去下来,然后做一个合并,这里给出提示 出现了文件冲突: 这里将不同的修改

  • Git 创建分支提交远程分支详解

    Git 创建分支提交远程分支详解 1.创建本地分支 git branch 分支名,例如:git branch 2.0.1.20120806 注:2.0.1.20120806是分支名称,可以随便定义. 2.切换本地分支 git checkout 分支名,例如从master切换到分支:git checkout 2.0.1.20120806 3.远程分支就是本地分支push到服务器上.比如master就是一个最典型的远程分支(默认). git push origin 2.0.1.20120806 4.

  • package.json中homepage属性的作用详解

    Package.json 属性说明 name - 包名. version - 包的版本号. description - 包的描述. homepage - 包的官网 url . author - 包的作者姓名. contributors - 包的其他贡献者姓名. dependencies - 依赖包列表.如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下. repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上.

  • Springboot项目中使用redis的配置详解

    程序结构: 一.配置 1. 在pom.xml中添加依赖 pom.xml文件如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&q

随机推荐