首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在git中将存储库的子文件夹拆分为各自的分支

在git中,可以通过以下步骤将存储库的子文件夹拆分为各自的分支:

  1. 首先,克隆存储库到本地环境中:
  2. 首先,克隆存储库到本地环境中:
  3. 进入克隆的存储库目录:
  4. 进入克隆的存储库目录:
  5. 创建一个新的分支用于存储子文件夹的内容:
  6. 创建一个新的分支用于存储子文件夹的内容:
  7. 切换到新创建的分支:
  8. 切换到新创建的分支:
  9. 删除除子文件夹以外的所有文件和文件夹:
  10. 删除除子文件夹以外的所有文件和文件夹:
  11. 保留子文件夹的内容,并提交更改:
  12. 保留子文件夹的内容,并提交更改:
  13. 切换回主分支:
  14. 切换回主分支:
  15. 删除主分支中子文件夹的内容:
  16. 删除主分支中子文件夹的内容:
  17. 将新创建的分支合并到主分支中:
  18. 将新创建的分支合并到主分支中:
  19. 推送更改到远程存储库:
  20. 推送更改到远程存储库:

这样,你就成功将存储库的子文件夹拆分为各自的分支。请注意,这个过程会修改存储库的历史记录,因此在执行此操作之前,请确保你了解并理解其潜在影响。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

大数据开发:Git工作原理解析

进入.git目录,便可以看到其中有很多文件和文件夹,这每一个文件都有各自作用,下面结合图1来进行说明。...objects文件夹中会包含很多文件夹,其中Git对象保存在以其sha-1值前两位为文件夹、后38位位文件名文件中;除此以外,Git为了节省存储对象所占用磁盘空间,会定期对Git对象进行压缩和打包...,其中pack文件夹用于存储打包压缩对象,而info文件夹用于从打包文件中查找git对象; HEAD文件:该文件指明了git branch(即当前分支结果,比如当前分支是master,则该文件就会指向...master,但是并不是存储一个master字符串,而是分支refs中表示,例如ref: refs/heads/master。...其中heads文件夹存储本地每一个分支最近一次commitsha-1值(也就是commit对象sha-1值),每个分支一个文件;remotes文件夹则记录你最后一次和每一个远程仓库通信,Git会把你最后一次推送到这个

42510
  • Git实用教程(九)| 使用VS Code进行Git可视化操作

    Git存储(如果是普通文件夹,请先使用git init初始化为Git仓库)会出现如下提示: ?...添加git.path一项,目录为当前电脑上git.exe所在目录,如图: ? 保存,重新用VS Code打开Git存储: ?...2.2.暂存修改 命令行中将当前修改暂存使用命令git add ,但在VS Code中,可以以图形化方式操作,并且可以清楚到当前暂存区和修改区内容: ?...2.3.提交更新到本地 同样,命令行中将暂存区内容提交到本地使用命令git commit -m ,VS Code中,可以以图形化方式操作: ?...4.远程操作 注:如果本地存储是克隆下来,或者已经手动添加了远程地址,则可以直接进行推送和拉取操作。 4.1.Github上新建一个远程 ?

    33.3K42

    Git教程

    没有进行版本控制或者版本控制本身缺乏正确流程管理,软件开发过程中将会引入很多问题,如软件代码一致性、软件内容冗余、软件过程事物性、软件开发过程中并发性、软件源代码安全性,以及软件整合等问题...6)、签入(Checkin) 将新版本复制回仓库 7)、签出(Checkout) 从仓库中将文件最新修订版本复制到工作空间 8)、提交(Commit) 对各自文件工作副本做了更改,并将这些更改提交到仓库...协同方法是这样:比如说自己电脑上改了文件A,其他人也电脑上改了文件A,这时,你们两之间只需把各自修改推送给对方,就可以互相看到对方修改了。...Untracked: 未跟踪, 此文件文件夹中, 但并没有加入到git, 不参与版本控制. 通过git add 状态变为Staged....git mv a.txt b.txt 当执行提交操作(git commit)时,暂存区目录树写到版本(对象)中,master 分支会做相应更新。

    1.4K20

    Git命令大全

    系统级配置文件: Git 安装目录下(Mac 系统下安装目录在 /usr/local/git etc 文件夹 gitconfig。...$ git config --global credential.helper store git clone从远程仓库克隆一个版本到本地 # 默认在当前目录下创建和版本名相同文件夹并下载版本到该文件夹下...未添加到Git中 $ git status -s git remote操作远程 # 列出已经存在远程仓库 $ git remote # 列出远程仓库详细信息,别名后面列出URL地址 $ git...diff # 比较两个分支之间差异 $ git diff # 查看两个分支分开后各自改动内容 $ git diff ......$ git rm -r # 移除跟踪指定文件,本地仓库文件夹中保留该文件 $ git rm --cached 不得不看 1.SpringCloud系列博客汇总 2.为啥一线大厂面试必问

    76620

    Git 备忘清单详解

    objects 文件夹中会包含很多文件夹,其中 Git 对象保存在以其 sha-1 值前两位为文件夹、后 38 位位文件名文件中;除此以外,Git 为了节省存储对象所占用磁盘空间,会定期对...Git 对象进行压缩和打包,其中 pack 文件夹用于存储打包压缩对象,而 info 文件夹用于从打包文件中查找 git 对象; HEAD 文件:该文件指明了 git branch(即当前分支结果...该文件某种程度就是缓冲区(staging area),内容包括它指向文件时间戳、文件名、sha1 值等; Refs 文件夹:该文件夹存储指向数据(分支提交对象指针。...其中 heads 文件夹存储本地每一个分支最近一次 commit sha-1 值(也就是 commit 对象 sha-1 值),每个分支一个文件;remotes 文件夹则记录你最后一次和每一个远程仓库通信...git 工作流程 Git 文件 4 种状态 Untracked: 未跟踪, 此文件文件夹中, 但并没有加入到 git , 不参与版本控制. 通过 git add 状态变为 Staged.

    53330

    Git|GitHub|SSH|Sourcetree 上篇】Git环境搭建及核心概念学习

    (即提交作者),前提时有提交记录 git init 初始化一个全新 Git 存储并开始跟踪现有目录。...它在现有目录中添加一个隐藏文件夹,所以这里我们需要按下面操作使其显现,该文件夹包含版本控制所需内部数据结构。...git push 使用本地对分支所做任何提交来更新远程存储。...gitignore文件用途是什么? 首先,我们要清楚当前运行Git存储每个文件都有以下状态之一: tracked:这些是Git所知道所有文件或目录。...untracked:这些是工作目录中创建任何新文件或目录,但还没有暂存(或使用git add命令添加)。 ignored:这些是GitGit存储中完全排除、忽略和不知道所有文件或目录。

    1.5K10

    Git问题汇总

    该命令表示从git仓库中将文件移除,不再进行版本控制,但保留工作区该文件。 需要注意是,该命令其实和方法一差不多。...我想法是这样本地仓库local-A里添加刚刚新建远程remote-B 检出(check out)并切换到remote-Bmaster分支 将本地dev分支merge到当前master分支...这句命令表示将dev分支合并到当前分支,这里两个本地分支各自追踪不同远程,需要加入--allow-unrelated-histories参数才能够完成合并操作而不报错,至于--squash参数是为了压缩...dev分支原本commit历史,可以将原本所有的commit历史合成一个commit,以避免当前分支合并之后掺入了其他项目的commit历史。...参考链接 .gitignore 规则写法 - 已忽略文件夹中不忽略指定文件、文件夹【注意项】 .gitignore无效,不能过滤某些文件 git rm - - cached filename git忽略已经被提交文件

    77420

    探秘git隐藏文件夹

    同时有个代表“官方”项目的权威仓库。 1.1 git管理文件夹 工程会有个管理仓库文件夹.git。这个git保存了版本管理所有数据。今天就来探秘这个.git文件夹设计思想。.../git/refs/remotes/origin/某个分支,合并到refs/heads/某个分支 二、git目录结构 2.1 refs文件夹分支管理) refs文件夹存在着3个文件夹,分别是:...) 是个git效能优化文件,文件包含索引并且压缩object,能达到随机访问对象. branch和tag变更(统称为 ref)是每个ref目录下)目录中存储一个文件$GIT_DIR/refs...尽管许多分支往往会经常更新,但是大多数tag和某些分支从未更新。当存储具有成百上千个ref时,这种“每个引用一个文件”格式既浪费存储空间,又损害性能。pack文件夹正是为了解决这个问题而生。...有过多ref存储做法是将其ref打包--all一次,并偶尔运行git pack-refs。根据定义,tag是固定,并且不会更改。

    4.6K311

    Git Submodules 介绍(通俗易懂,总结了工作完全够用 submodule 命令)

    如果某些文件,项目A和项目B中都会用到,例如组件,那么这些文件可以作为 submodules 来管理,减少重复代码。(当然,该场景下npm包是另一解决方案,你需要选择一种方案。)解决团队维护难题。...了解 Git Submodules有2个概念:主项目、submodule(子模块)。这两者各自都是完整 Git 仓库。如何让一个Git仓库变为另一个Git仓库 submodule创建Git仓库A。...图片submodule 版本号主项目还保存了对应 submodule 版本号(commit id),没有冗余存储 submodule 代码。...方法二,主项目中更新例如主项目文件夹A,A里面包含:.git文件夹READMD.md主项目的ReadMe文件。B文件夹,是个 submodule。...我们可以进入B文件夹cd B,你会发现在B中,也可以执行git status等命令,此时git命令都会是针对仓库B,你可以在这里切换分支、提交更新,这时候,提交都是submodule变更。

    25.2K146

    Git|仓库管理知识要点与细节

    没有进行版本控制或者版本控制本身缺乏正确流程管理,软件开发过程中将会引入很多问题,如软件代码一致性、软件内容冗余、软件过程事物性、软件开发过程中并发性、软件源代码安全性,以及软件整合等问题...协同方法是这样:比如说自己电脑上改了文件A,其他人也电脑上改了文件A,这时,你们两之间只需把各自修改推送给对方,就可以互相看到对方修改了。Git可以直接看到更新了哪些代码和文件!...如果在加上远程git仓库(Remote Directory)就可以分为四个工作区域。...Untracked: 未跟踪,此文件文件夹中,但并没有加入到git,不参与版本控制。通过 git add 状态变为 Staged 。...Unmodify: 文件已经入库,未修改,即版本文件快照内容与文件夹中完全一致。这种类型文件有两种去处,如果它被修改, 而变为 Modified 。

    32410

    Git命令大全

    系统级配置文件: Git 安装目录下(Mac 系统下安装目录在 /usr/local/git etc 文件夹 gitconfig。... # 查看两个分支分开后各自改动内容 $ git diff ......,本地仓库文件夹中保留该文件 $ git rm --cached 1 2 3 4 5 6 7 8 复制 # Git常用命令以供使用 命令 说明 git clone 复制代码到本地...git commit -m 提交更改,修改了文件以后,使用这个命令提交修改。 git pull 从远程同步代码到本地。 git push 推送代码到远程代码。...后面有一个点,意思是将你本地所有修改了文件添加到暂存区 git commit -m"" 引号里面是你介绍,就是你这次提交是什么内容,便于你以后查看,这个是将索引的当前内容与描述更改用户和日志消息一起存储提交中

    97410

    一种未曾设想前端项目依赖管理道路

    内容简介(方便想要快速了解文章内容结论同学) 先上结论,Node.js 将依赖分为 dependency 与 devDependency 两部分,但是却公用同一个 node_modules 文件夹方式...这些工具又都有自己依赖,又生孙,孙又生子,子子孙孙无穷尽也,很快啊,你硬盘就装不下了。...而这些工具依赖,只是开发和构建过程中使用,甚至是不同阶段才会使用,比如很多单元测试,其实是在线上 CI 过程才会跑,但是却都会一股脑儿装进 node_modules 文件夹里,和业务依赖搅在一起...由于工具依赖已经离出去了,剩下都是业务依赖,本来就是要构建到最终产品中,我们需要保证各个环境中强一致性,同时离了工具依赖 node_modules 大小也会降到一个合理水平,纳入到 git...,只要从同一个分支 checkout 出来代码,业务依赖一定是完全一样,另一方面如果有同学新增或者修改了业务依赖,也能够被 git 进行记录下来,做到变更可追溯化,更进一步,还可以针对这种情况,进行专门依赖评审

    58820

    GIT操作 之 常用指令(入门级)

    来源:阮大大博客 几个主要结构体有: Workspace 工作区:git init后,当前文件夹(自己电脑上,眼睛看得见那个和平常文件夹一毛一样文件存储区域)就是工作区。...git init后,你会发现当前文件夹多了一个.git隐形文件夹,这里就存放着本地仓库版本相关内容。...接下来,我们简单捋一捋这个过程: 下行路程:作为小前端本地电脑(工作区)上一个文件夹下进行初始化git init,紧接着马不停蹄撸了一把代码,保存为file.html ---------...可以具体查看发生冲突文件,文件里头会有>>> 来标记出同一位置,不同分支各自内容块。然后由我们来选择保留想要留下内容,删除不要内容以及标记符号。...#查看分支描述 git config branch..description 注意: 分支描述是保存在.git/config下,是本地存储,所以不能被推送。

    70910

    git使用具体介绍

    1) 工作文件夹:用户本地文件夹; 2) Index(索引):将工作文件夹下全部文件(包括文件夹)生成快照,存放到一个暂时存储区域,Git 称该区域为索引。...Git本地操作基本命令 3.1. Git init 或者使用git init-db。 创建一个空Git。在当前文件夹中产生一个.git 文件夹。...以后,全部文件变化信息都会保存到这个文件夹下,而不像CVS那样,会在每一个文件夹文件夹下都创建一个CVS文件夹.git文件夹下有一个config文件,能够改动当中配置信息。...( 加入�当前文件夹全部文件和文件夹 ) 3.3. Git rm 从当前工作文件夹中和索引中删除文件。...能够递归删除,即假设后面跟是一个文件夹做为參数,则会递归删除整个文件夹全部文件夹和文件。

    29510

    一文读懂Git

    [集中式] [分布式] 集中化主要版本数据都保存服务端。 分布式版本数据分散多端。 Git Git属于分布式版本控制,也是现在比较流行一种版本管理工具。...Git项目有三个区块:工作区 / 暂存区 / 版本 工作区存放从版本提取出来文件,供我们编辑修改; 暂存区保存了下一次要提交目录信息; 版本保存项目版本元数据和Objects数据,后文会详解。...Git版本存储模型。...object文件分 blob tree commit tag 四种类型 blob 存储文件数据,一般是一个文件; tree 存储目录和树引用(文件目录); commit 存储单一树引用,时间点,提交作者...如果目录树(或存储中多个不同版本)中两个文件具有内容相同,它们将共享相同Blob对象。 Tree [tree] Tree 存储blob和tree引用。

    64700

    Git必知必会

    同时由于增量方案有个最致命缺点,就是如果初始版本没有了,会导致后续所有版本丢失。因此git最终采用了全量存储方式来作为版本存储git如何追踪文件更改?...配置信息都将被存在~/.gitconfig文件中 git仓库 git init:在当前目录下创建一个新git仓库,接下来所有的版本信息都将存储隐藏.git文件夹中。...所以git仓库里整个大致工作流程工作区写代码,然后放到暂存区,最后将该版本放到版本时就会将暂存区内容存到一个新版本结点,然后再放到版本库里,使版本树增加新版本节点 下面是一些本地关于工作区...为了解决合并冲突 问题,于是就有了分支概念,当多个开发者同时工作时候,可以本来版本控制流上产生多个分支,当各自处理完后,再将自己分支与主分支合并。...例如需要为一个软件编写不同功能时,由于是不同开发者进行代码编写,所以就需要产生多个分支各自工作。由于不同开发者分支链条会越来越长,最终开发完成时就需要将其版本进行合并,并保留其中各自版本信息。

    64230

    Git 操作指南

    如果没有进行版本控制,或者版本控制本身缺乏正确流程管理,那么软件开发过程中将会导致很多问题,如软件代码一致性、软件内容冗余、软件过程事物性、软件开发过程中并发性、软件源代码安全性,以及软件整合等...**由于每个用户那里保存都是所有的版本数据,只要有一个用户设备没有问题就可以恢复所有的数据,不会因为服务器损坏或者网络问题,造成不能工作情况。但是另一方面,这也增加了本地存储空间占用。...协同方法是这样:比如说自己电脑上改了文件 A,其他人也电脑上改了文件 A,这时,你们两之间只需把各自修改推送给对方,就可以互相看到对方修改了。...此文件文件夹中,但并没有加入到 Git ,不参与版本控制。通过 git add 状态变为 Staged。 Unmodify:文件已经入库,但尚未修改。即,版本文件快照内容与文件夹中完全一致。...master 分支是主分支,应该非常稳定,通常用来发布新版本。一般情况下,不允许分支上工作,而是新建 dev 分支上工作。

    66331
    领券