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

更改为remote后,重新建立git的子模块跟踪分支

的步骤如下:

  1. 首先,进入子模块所在的目录。
  2. 使用以下命令将子模块的远程仓库更改为新的remote地址:
  3. 使用以下命令将子模块的远程仓库更改为新的remote地址:
  4. 确保你已经切换到了子模块的主分支,使用以下命令切换到主分支:
  5. 确保你已经切换到了子模块的主分支,使用以下命令切换到主分支:
  6. 然后,使用以下命令拉取最新的代码:
  7. 然后,使用以下命令拉取最新的代码:
  8. 接下来,使用以下命令重新初始化子模块:
  9. 接下来,使用以下命令重新初始化子模块:
  10. 使用以下命令更新子模块的代码:
  11. 使用以下命令更新子模块的代码:
  12. 最后,使用以下命令切换到需要跟踪的分支:
  13. 最后,使用以下命令切换到需要跟踪的分支:

以上步骤完成后,你的子模块将重新建立对指定分支的跟踪。

关于git子模块的概念,它是一个嵌套在主项目中的独立的Git仓库。它允许你将其他仓库作为子目录引入到你的项目中,并且可以跟踪和管理这些子模块的版本。

子模块的优势在于可以将复杂的项目拆分成更小的模块,使得项目结构更清晰,同时也方便了团队协作和代码复用。

子模块的应用场景包括但不限于以下几个方面:

  • 将公共的代码库作为子模块引入到多个项目中,实现代码共享和统一维护。
  • 使用第三方库或框架作为子模块引入到项目中,方便更新和管理。
  • 将项目拆分成多个独立的模块,每个模块可以独立开发和测试,提高开发效率。

腾讯云提供了一系列与Git相关的产品和服务,包括代码托管、持续集成、版本管理等,可以满足开发团队的需求。你可以参考腾讯云代码托管产品CodeCommit,它提供了安全可靠的Git代码托管服务,支持团队协作和版本管理。详情请参考腾讯云官网的CodeCommit产品介绍

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

相关·内容

浅析 Git模块

模块所在子目录是被 Git 特殊对待 – 也就是说,当你不在此目录中时,Git 默认并不跟踪其中内容,而是将其变动当成一种特殊提交对待。...更新子模块命令为: git submodule update --remote Git 默认会尝试更新所有子模块;如果子模块数量众多,也可以在以上命令中传入需要更新模块名称。...2.4 - 使用子模块 默认情况下,子模块并没有本地分支,而是会停留在一种特殊 “detached HEAD” 模式下;要对其修改并被 Git 跟踪的话,就要先手动检出分支: # 检出一个叫 stable...git submodule update --remote --rebase 2.5 - 发布子模块变更 因为主项目并不会跟踪模块变更,也就是说子目录中更改具体业务文件不会在 push 时被自动发布...subtree 用法如下: 4.1 - 第一次添加子目录,建立git 项目的关联 # 其中-f意思是在添加远程仓库之后,立即执行fetch git remote add -f <仓库地址

1.4K10

Git-命令速查与相关问题解决-Cheatsheet & Troubleshooting

git diff git skip-worktree git assume-unchanged 对于单个文件应用 对应文件夹应用 不包含文件夹方式 包含文件夹方式 git rename...fetch origin {remote branch name} 仅仅 fetch 远程分支 git branch 命令 功能 注释 git branch {bch name} 直接创建本地分支...stash git update-index --no-assume-unchanged /path/to/file 重新开始跟踪某个特定文件 对应文件夹应用 不包含文件夹方式 这个方式不包含文件夹...命令 功能 注释 git clean 要谨慎使用这个命令, 会将所有未跟踪文件删除....删除本地库 develop git checkout -b dev 建立一个新本地分支 dev git merge origin/dev 将分支 dev 与当前分支进行合并 git checkout

31610
  • GitGit-常用命令备忘录(三)

    git clone -b 2.递归克隆 项目里包含一些库或者一些模块是存在了别的仓库,可以用递归来克隆回来。...一次性就能解决所有的依赖模块 git clone --recursive https://github.com/dotnet/aspnetcore.git 3.切换到指定分支 分支众多,要切换到指定分支...#初始化-建立本地仓库 git init #把本地仓库与远程仓库关联 git remote add origin git@gitee.com:RandyField/xxxxx.git #push git...,就好像“重新播放”一样(将一个分支修改操作在另一个分支最新提交基础上在依次应用)。...找到master和dev最近一个共同父commit对象 并找出这个共同父commit对象到dev分支最新提交对象之间所有对象,将这些对象依次添加至master分支最新一次提交

    34710

    Git必备命令-子模块

    // 初始化子模块 git submodule update // 更新子模块与主仓库中模块代码同步 // or git submodule update --init // or 嵌套(仓库中包含仓库...更新、拉取仓库代码方法: 父目录中: $ git submodule update // 与主仓库中模块代码同步 $ git submodule update --remote // 与仓库中代码同步...(同步所有的子模块) $ git submodule update --remote xxx // 指定需要同步模块模块目录下更新: git pull 默认情况下会跟踪模块 master 分支...开始使用子模块 我们首先将一个已存在 Git 仓库添加为正在工作仓库模块。你可以通过在 git submodule add 命令后面加上想要跟踪项目的相对或绝对 URL 来添加新模块。...例如,你想要 DbConnector 子模块跟踪仓库 “stable” 分支,那么既可以在 .gitmodules 文件中设置 (这样其他人也可以跟踪它),也可以只在本地 .git/config 文件中设置

    1K20

    Git常用命令参考手册

    git submodule 子模块作用类似于包管理,类似 npm, 主要是复用仓库, 但比包管理使用起来方便。...子模块可以不建立版本分支管理代码, 因为它是依赖主应用,所以建立版本分支可以从主应用去操作,那么一旦建立版本分支当前所有内容都会被锁定在这个分支上,不管子模块仓库怎么修改。...&& git pull 方法二:使用 git submodule update 更新子模块 # git 会尝试更新所有子模块, 如果只需要更新某个子模块只要在 --remote 指定子模块名称...添加仓库 --prefix 指定将仓库存储位置 main 是分支名称 --squash 通常做法是不将仓库整个历史记录存储在主仓库中,如果需要的话可以忽略整个参数 添加仓库, 会跟普通文件一样看待...每次 push 到仓库里头时会花费大量时间来重新计算子仓库提交。并且因为每次 push 都是重新计算,所以本地仓库和远端仓库提交总是不一样,这会导致 git 无法解决可能冲突。

    1.4K60

    Git Pro深入浅出(二)

    $ git stash -u (2)从储藏创建一个分支 $ git stash branch 其创建一个新分支,检出储藏工作时所在提交,重新在那应用工作,然后在应用成功扔掉储藏...上述,可以通过一种简单方式:Git将会进入子模块然后抓取并更新 $ git submodule update --remote t-module 注意:此命令默认会假定你想要更新并检出子模块仓库master...(5)在子模块与主项目中同时做修改 到目前为止,当我们运行 git submodule update从子模块仓库中抓取修改时,Git将会获得这些改动并更新子目录中文件,但是会将仓库留在一个称作“...这意味着没有本地工作分支(例如 “master”)跟踪改动。所以你做任何改动都不会被跟踪。 $ git branch -a 首先,进入每个子模块并检出其相应工作分支。...你仍然会有一个还未跟踪模块目。

    1.2K31

    Git工作中使用

    三、归档处导入公钥 在归档处SSH页面,导入之前生成公钥id_rsa.pub里内容,建立信任。...注意完成这个操作,就恢复到了上一次commit状态。...5.2 Merger Request 提交一个MR,选择相应项目和分支,需要注意二者之间冲突。pull远程代码,修改merge conflict文件,保存提交并推送,线上重新发启MR即可。...变更issue状态(改为coding),并附上MR地址 5.3 同步远程私人仓库和远程主仓库 当主库(源项目)更新,fork库并不会一起更新,需要自己手动去更新。...site1} ${local branch name}:${branch-name} # 例如先将远程仓库config_baserelease分支代码拉取到本地dev分支,修改再将dev分支代码提交到

    33020

    7.11 Git 工具 - 子模块

    当你不在那个目录中时,Git 并不会跟踪内容, 而是将它看作该仓库中一个特殊提交。 如果你想看到漂亮差异输出,可以给 git diff 传递 --submodule 选项。...这意味着没有本地工作分支(例如 “master”)跟踪改动。 所以你做任何改动都不会被跟踪。 为了将子模块设置得容易进入并修改,你需要做两件事。 首先,进入每个子模块并检出其相应工作分支。...我们建议后者,哪怕只是为了一个漂亮合并提交信息。 所以,我们将会进入子模块目录,基于 git diff 第二个 SHA 创建一个分支然后手动合并。...如果你创建一个新分支,在其中添加一个子模块,之后切换到没有该子模块分支上时,你仍然会有一个还未跟踪模块目录。...如果你移除它然后切换回有那个子模块分支,需要运行 submodule update --init 来重新建立和填充。

    1.5K20

    Git学习总结

    git 简介 git 是分布式,所以其核心就是分支分支意义在于,可以将项目代码按照功能、模块拆分成不同分支。...已跟踪文件是指本来就被纳入版本控制管理文件,在上次快照中有它们记录,工作一段时间,它们状态可能是未更新,已修改或者已放入暂存区。而所有其他文件都属于未跟踪文件。...base]/[remote branch] 将远程分支检出到本地分支,并追踪 git checkout --track / 让当前分支跟踪远程分支...git checkout -b newBranch origin/master 修改分支名称 git branch -m 从远程仓库拉取代码到本地仓库,并建立跟踪关系 git checkout...-b 如何在远程仓库新建一个分支 新建一个本地分支,按照正常流程提交完代码,推送到远程 git push <local branch

    44140

    git常用命令

    例如,上面的状态报告显示: README文件在工作区被修改了但是还没有将修改文件放入暂存区,lib/simplegit.rb 文件被修改了并将修改文件放入了暂存区。...git rm --cached从功能上等同于git reset HEAD,清除了缓存区,但不动工作目录树. $ git mv [文件夹2名字] [文件夹1名字] 将 文件夹1名字 改为 文件夹2名字 git...同样是用来看改动相对信息,--stat比-p输出简单一些. 3、撤消操作 有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。...此时,可以运行带有 --amend 选项提交命令尝试重新提交: $ git commit --amend 你提交发现忘记了暂存某些需要修改,可以像下面这样操作: $ git commit -m ‘...因为不需要每次都用完整url,所以Git为每一个remote repourl都建立一个别名,然后用git remote来管理这个list.

    41020

    git 常用操作总结

    clone xxx 执行完此命令Git会自动为你将远程仓库命名为origin,并下载其中所有的数据到本地,在本地建立所有远程存在分支,并且命名为origin/xxx,例如远程分支有master、...接着,Git会继续建立一个属于你本地master和developer分支,位置和远程origin/master、origin/developer分支处于相同位置,你就可以开始工作了。...git fetch 区别 18. git 删除未跟踪文件 删除未跟踪文件 $ git clean -f 删除未跟踪文件目录 $ git clean -fd 正式删除文件以前先查看哪些会被删除 $...本地分支与远程分支建立关联(远程分支不存在也可以) 切换到本地分支 $ git checkout local-branch push 到想要建立关联远程分支 $ git push -u origin...重新跟踪远程文件 先删除远程文件 $ git remote rm origin 跟踪新远程文件 $ git remote add origin https://xxx.git 或者合并成一条命令 $

    17710

    Git 中文参考(一)

    当local时,对于其他本地分支跟踪分支,rebase 设置为 true。当remote时,对于跟踪远程跟踪分支分支,rebase 设置为 true。...是current(当前分支),local(本地分支),remote(refs/remotes/中远程跟踪分支),upstream(上游跟踪分支),plain(其他参考文献)。....fetch将它们映射到相应远程跟踪分支,并合并这些跟踪分支提示。 merge.ff 默认情况下,Git 在合并作为当前提交后代提交时不会创建额外合并提交。...push.recurseSubmodules 确保要推送修订使用所有子模块提交都可在远程跟踪分支上使用。....branch 子模块远程分支名称,由git submodule update --remote使用。设置此选项可覆盖.gitmodules文件中值。

    28420

    git 常用操作总结

    $ git clone xxx 复制代码 执行完此命令Git会自动为你将远程仓库命名为origin,并下载其中所有的数据到本地,在本地建立所有远程存在分支,并且命名为origin/xxx,例如远程分支有...接着,Git会继续建立一个属于你本地master和developer分支,位置和远程origin/master、origin/developer分支处于相同位置,你就可以开始工作了。...合并 origin 分支到本地分支上 这就是 git pull 和 git fetch 区别 18. git 删除未跟踪文件 删除未跟踪文件 $ git clean -f 删除未跟踪文件目录 $...本地分支与远程分支建立关联(远程分支不存在也可以) 切换到本地分支 $ git checkout local-branch push 到想要建立关联远程分支 $ git push -u origin...重新跟踪远程文件 先删除远程文件 $ git remote rm origin 跟踪新远程文件 $ git remote add origin https://xxx.git 或者合并成一条命令 $

    50220

    git分支远程连接和远程分支拉取推送及冲突处理

    默认clone远程库,只能看到master分支,其他分支需要设定跟踪git checkout -b dev origin/devdev分支设置为跟踪来自 origin 远程分支 dev。...git branch --set-upstream-to=origin/ branch创建本地分支与远程分支跟踪,用于git push和git pull git pull <remote...git remote -v显示远程仓库详细信息 $ git remote -v origin git@github.com:findmoon/newrepo.git (www.lanboyulezc.cn.../ branch创建本地分支与远程分支跟踪,用于git push和git pull git pull 指定拉取远程分支 设置跟踪远程分支 $ git...拉取分支时文件冲突 上面设置好跟踪重新pull拉取更新 $ git branch --set-upstream-to=origin/dev dev 分支 dev 设置为跟踪来自 origin 远程分支

    2.3K20

    Git 速查表(速查大全)

    原文链接:http://blog.kesixin.xin/article/61 今天查git命令时候看到这篇文章,总结很好,转载一发 Git命令大致分为这几个模块: 序号 模块 功能...& PUBLISH 关于更新和发布 6 MERGE & REBASE 关于分支合并类 7 UNDO 关于撤销类 8 SUBMODULE 关于子模块 CREATE 从远程仓库获取代码 git clone...commit --amend COMMIT HISTORY 查看提交日志 git log 跟踪查看某个文件历史修改记录 git log -p 查看文件是谁什么时候修改什么地方 git...git checkout 新建分支,不带old-branch为默认在当前分支建立分支 git branch 新建并且换分支 git...// 子模块目录Test没有文件 cd Test git submodule init git submodule update // 执行完就有子模块代码了 //方法二 // 自动更新子模块代码

    54430

    Git实战

    ,我也会努力将其优化更加符合工作场景 说明 1、在[…]中内容,需要根据实际情况进行修改 如何本地与远程建立信任联系?...(不用关心项目名不一致问题) #此时本地工程与远程仓库已经建立了联系 git remote add origin [git@rep.xx.com:zoeminghong/hello.git] #去除远程仓库绑定...,再重新提交一个远程分支。...–date short 子模块 保留组件现有目录结构完整性,故而git创造了类似于maven中module一样功能,来实现子模块管理 打个比方:现在我有一个父工程A,其工程路径下面有五个工程...500M 文件大,上传慢 git remote set-url origin [你ssh地址] 把远程仓库上传由原来HTTPS改为SSH上传,github在国内本身就慢,还可能被dns污染

    86810

    Git 中文参考(四)

    set-branches 更改命名远程跟踪分支列表。在初始设置遥控器之后,这可用于跟踪可用远程分支子集。 命名分支将被解释为使用 git remote add 命令行上-t选项指定。...不使用超级项目记录 SHA-1 来更新子模块,而是使用子模块远程跟踪分支状态。使用遥控器是分支遥控器(branch.<name>.remote),默认为origin。...为了确保当前跟踪分支状态,update --remote在计算 SHA-1 之前获取子模块远程存储库。...完成,将是现在分支。 交互模式 以交互方式重新绑定意味着您有机会编辑已重新生成提交。您可以重新排序提交,并可以删除它们(清除坏或其他不需要补丁)。...当-C更改为小写-c时,成功合并将在编辑器中打开该消息,以便用户可以编辑该消息。 如果merge命令因合并冲突以外任何原因而失败(即合并操作甚至没有开始),则立即重新安排。

    21210

    Git 中文参考(六)

    使用“none”时,如果子模块包含未跟踪或修改文件,或者其 HEAD 与超级项目中记录提交不同,则可以使用“无”来修改子模块,并可用于覆盖中 ignore 选项任何设置 git-config [1...当使用“未跟踪”时,如果子模块仅包含未跟踪内容(但仍会扫描修改内容),则子模块不会被视为脏。...然后,用户必须添加适当条目。修改 authors 文件重新运行以前 git svn 命令应继续操作。...快速导入终止,前端需要执行rm .git/TAG_FIXUP以删除虚拟分支。 立即导入,稍后重新包装 一旦快速导入完成,Git 存储库就完全有效并可以使用了。...因此,强烈建议用户在快速导入完成使用git repack -a -d重新打包存储库,允许 Git 重新组织 packfiles 以便更快地访问数据。

    28410

    关于 Git 那些事

    在一开始,默认只有 master 分支(主分支),master 指针始终指向主分支最近一次 commit,并在每次出现新 commit 时向前推进; 如果新建分支,则会出现 dev 指针,它始终指向分支最近一次.../* 或者 */ git checkout -b new_branch 此时有了分支,由于它是基于主分支最近一次 commit 创建,所以三个指针指向同一个东西,即 HEAD -> new_branch...// 初始化当前文件夹为本地仓库 git remote add origin // 本地仓库与远程仓库建立关联 git remote -v //...以后如果我们想要克隆远程其它分支,可以: git branch remote_branch_name origin/remote_branch_name 或者是直接切换到其它分支Git 默认会帮我们建立一个追踪... 还有一种情况是,我们直接在本地建立了一个分支,忘记将它和对应远程分支建立关联,这时候怎么办呢?

    1.1K50

    Git 常用命令清单笔记

    > # 在commit之前撤销git add操作 git reset head # 好像比上面git rm --cached方便 commit git commit -m "message" #此处注意乱码...rsync://example.com/path/to/repo.git/ submodule git submodule add --force 仓库地址 路径 其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下路径...将commit合并到当前分支 git cherry-pick -n commit # 拣选多个提交,合并完可以继续拣选下一个提交 rebase git rebase master #...dev origin/dev # 将本地dev分支与远程dev分支之间建立链接 git branch --set-upstream master origin/next # 手动建立追踪关系...alias.ci commit 配置好再输入git命令时候就不用再输入一大段了,例如我们要查看状态,只需: git st 其它 git help * # 获取命令帮助信息 git status

    75730
    领券