Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何创建新的Git存储库而不是旧的,并保留提交历史?

要创建一个新的Git存储库而不是使用旧的,并保留提交历史,可以按照以下步骤进行操作:

  1. 首先,在本地计算机上创建一个新的目录,用于存储新的Git存储库。
  2. 打开命令行终端,进入新创建的目录。
  3. 初始化Git存储库,使用以下命令:
  4. 初始化Git存储库,使用以下命令:
  5. 这将在当前目录中创建一个新的Git存储库。
  6. 将新的Git存储库与远程仓库关联起来,以便将来进行推送和拉取操作。可以使用以下命令:
  7. 将新的Git存储库与远程仓库关联起来,以便将来进行推送和拉取操作。可以使用以下命令:
  8. 替换[远程仓库URL]为你的远程仓库URL。如果还没有远程仓库,可以先在腾讯云上创建一个Git仓库,然后获取对应的URL。
  9. 通过以下命令检查远程仓库是否成功关联:
  10. 通过以下命令检查远程仓库是否成功关联:
  11. 这将显示远程仓库的详细信息。
  12. 现在,将旧的Git存储库的提交历史复制到新的存储库中。可以使用以下命令:
  13. 现在,将旧的Git存储库的提交历史复制到新的存储库中。可以使用以下命令:
  14. 替换[旧仓库URL]为旧的Git存储库的URL,[分支名]为要复制的分支的名称。
  15. 接下来,将新的存储库推送到远程仓库:
  16. 接下来,将新的存储库推送到远程仓库:
  17. 替换[分支名]为要推送的分支的名称。

完成以上步骤后,你将成功创建一个新的Git存储库,并保留了旧存储库的提交历史。请注意,这里提供的是一种通用的步骤,具体操作可能因不同的版本控制工具或平台而有所差异。

相关搜索:如何在两个不同的git存储库(而不是克隆)中同步文件并保留历史记录?我在git上有来自旧任务的旧提交,如何为新提交获取新的新日志?意外地从具有不同提交历史的远程存储库拉取数据后,访问较旧的Git提交如何将包含历史记录的SVN存储库迁移到新的Git存储库?如何从旧的存储库中创建一个内容很少的新存储库?如何将所有提交历史记录保存在旧存储库中,并在旧存储库不在线的情况下将其内容移动到新存储库?如何将文件及其所有提交历史记录迁移到git中的新存储库?如何在单击旧的create按钮时创建新的create键盘,而不是替换我可以将现有的Subversion存储库移动到新的父存储库(并保留历史记录)吗?如何从BitBucket git存储库历史记录中删除带有密码的提交?如何在存储库中保留git子树的远程?是否可以重新安排存储库并保留重新分配的文件的提交历史记录?有没有buildbot轮询一个新的提交git存储库?如何将创建了主干/分支的旧SVN存储库转换为GIT如何删除远程git存储库上的“搁浅”提交如何在没有旧提交的情况下将分支文件从旧的存储库移动到新的存储库如何使用` `git svn dcommit` `推送特定的提交给svn,而不是全套提交?如何从另一个git存储库挑选提交,并保留或记录原始散列。从Git Bash终端在Bitbucket上创建新的存储库?如何将更改从Git存储库的一些子文件夹同步到另一个Git存储库,以保留提交历史记录
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

揭秘Git高手的10个秘密武器:让你的工作效率飙升!

例如,如果你处于main分支,并进行了新的提交,HEAD现在将指向那个新的提交,表明它是main分支中最新的提交。 ^(尖角符号): 在Git中,^符号用作导航穿越项目历史时间线的手段。...2、创建并切换到一个Git分支 与前面的场景类似,另一个命令也结合了两个命令的功能。...而不显式指定旧名称,可以使用以下命令: git branch -m newBranchName 这里,你不需要指定旧的分支名,因为Git会假设你想将当前分支重命名为新的名称。...因为标准的git push操作是将一个新的提交追加到你的远程仓库,而不是修改最后的提交。 8、暂存更改 想象你正在同时在两个不同的分支上工作,A和B。...当你尝试使用git checkout B切换到分支B时,Git阻止了这个操作,并显示了一个错误: 我们可以按照错误消息的建议提交更改。但提交更像是一个固定的时间点,并不是一个正在进行中的工作。

19910
  • Git 版本控制:构建高效协作和开发流程的最佳实践

    打轻量标签 轻量标签(Lightweight Tag)是指向某个提交对象的引用,他就像一个不会改变的分支。创建轻量标签不会存储额外的信息(如标签创建者、邮箱、创建日期等)。...遇到问题使用 git revert 回滚 git revert 是用于撤销之前提交的变更的命令,git revert 的操作是通过创建一个新的提交来实现的,这个新提交是对旧提交的直接反转,即他会引入与旧提交相反的变更...操作流程 找到你想要撤销的提交的哈希值,可以通过 git log 查看提交历史; 执行 git revert 命令并指定相应的哈希值; Git 会创建一个新的提交,这个提交会撤销指定提交所做的所有变更;...例如,如果一个已经发布到生产环境中的提交引入了一个严重错误,使用 git revert 可以快速地撤销这个提交带来的影响,同时保留了完整的项目历史。...与 git reset 的区别 git reset 也可以用来撤销变更,但他通过移动分支指针到旧的提交来实现,这会改变项目历史。 总结 版本控制是软件开发的核心,促进团队协作与项目管理。

    35010

    设计师如何管理自己的文档

    而现实中,设计的工作经常进行改稿,常常会出现这种情况,当你改到第7第8稿时,客户来一句还是第3稿合适,然而我们往往对文件的命名是这样的是不是很抓狂 如果对每一份改动,都采取另存一份的方式,我们的项目库会变的十分的臃肿庞大...除此之外,实际中,我们常常会进行一些小修改,忘记保存一份新的备份,这时我们想要文件回到过去式,就真的不是那么容易了。...总结一下,就是推陈出新,完成修改产生一个新数据,旧数据自动生成备份简单介绍GitGit对待数据的方式和SVN是不同的, SVN以文件变更列表的方式存储信息。...反之,Git 更像是把数据看作是对小型文件系统的一组快照。 每次你提交更新,或在 Git 中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。...为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。 Git 对待数据更像是一个 快照流。

    1.2K00

    Git使用教程(看完会了也懂了)

    Git 仓库对应一个存储库,它会记录每次对项目文件的修改。当您在 Git 仓库中进行更改时,Git 会跟踪这些变化并保存它们的历史记录。...主要作用: 历史记录和版本控制: 本地版本库保存了代码仓库的完整历史记录。每当使用git commit命令提交更改时,Git会为该提交创建一个新的版本,并将其永久保存在本地版本库中。...通过本地版本库,您可以追溯代码的演变历史,查看每个提交的详细信息,并轻松地进行版本控制。 回退和恢复: 本地版本库能够回退到先前的提交状态或恢复到特定的历史版本。...简而言之,git reset主要用于修改提交历史,并具有对索引和工作目录的不同影响。而git checkout主要用于切换分支、还原文件和查看历史版本,不会修改提交历史。...后续开发和推荐性: git switch 是在 Git 2.23 版本中引入的新命令,而 git checkout 是 Git 的旧命令。

    1.5K21

    如何使用 Git:参考指南

    分行 Git 中的分支是指向存储库中提交之一的可移动指针,它允许您隔离工作并管理功能开发和集成。...您可以通过阅读Git 文档了解有关分支的更多信息。 使用 branch命令列出所有当前分支。*您当前活动的分支旁边会出现一个星号 ( ): git branch 创建一个新分支。...请注意,某些存储库可能会使用 master而不是 main: git merge upstream/main 将您的本地分支提交推送或传输到远程存储库分支: git push origin main...无论文件重命名如何,这都遵循文件: git log --follow my_script.py 显示在一个分支上而不是在另一个分支上的提交。...请注意,某些存储库可能会使用 master而不是 main: git rebase upstream/main 恢复和重置 您可以使用 来恢复对给定提交所做的更改 revert。

    1.3K30

    如何使用 Git 撤消(几乎)任何操作

    如果旧 commit 是“matter”,则新 commit 是“anti-matter”——旧 commit 中删除的任何内容都将添加到新 commit 中,而旧 commit 中添加的任何内容都将在新...这是 Git 最安全、最基本的“撤消”场景,因为它不会更改历史记录,因此你现在可以使用 git push 来提交新的 commit来撤消错误的 commit。...这取决于你到底想要完成什么: • 如果你想恢复项目当时的历史记录,请使用 git reset --hard • 如果你想在工作目录中重新创建一个或多个文件,而不更改历史记录,请使用 git...checkout -- • 如果你想将其中一个 commit 重放到存储库中,请使用 gitcherry-pick 再一次,通过分支 场景: 你提交了一些...现在 master 分支与 origin/master 同步,你希望 feaute 的 commit 现在就开始,而不是远远落后。

    21810

    如何使用 Git 撤消(几乎)任何操作

    如果旧 commit 是“matter”,则新 commit 是“anti-matter”——旧 commit 中删除的任何内容都将添加到新 commit 中,而旧 commit 中添加的任何内容都将在新...这是 Git 最安全、最基本的“撤消”场景,因为它不会更改历史记录,因此你现在可以使用 git push 来提交新的 commit来撤消错误的 commit。...这取决于你到底想要完成什么: • 如果你想恢复项目当时的历史记录,请使用 git reset --hard • 如果你想在工作目录中重新创建一个或多个文件,而不更改历史记录,请使用 git...checkout -- • 如果你想将其中一个 commit 重放到存储库中,请使用 gitcherry-pick 再一次,通过分支 场景: 你提交了一些...现在 master 分支与 origin/master 同步,你希望 feaute 的 commit 现在就开始,而不是远远落后。

    22910

    【10】进大厂必须掌握的面试题-版本控制面试

    以下是一些基本的Git命令: Q7。在Git中,如何还原已经被推送并公开的提交?...对文件进行必要的更改后,将其提交到远程存储库,因为我将使用 git commit -m“ commit message” 创建一个新的提交来撤消在错误的提交中所做的所有更改。...现在,您已经为示例定义了Git变基时间,以展示如何在合并之前使用它解决特征分支中的冲突(如果从master创建了一个功能分支,并且从那时起master分支已收到新的提交,Git变基)可用于将要素分支移至母版的顶端...在此脚本中,可以运行其他工具,例如linters,并对提交到存储库中的更改执行完整性检查。 Q12。您如何找到在特定提交中已更改的文件的列表?...您如何设置一个脚本,以便每次存储库通过推送接收到新的提交时运行?

    2.6K20

    【10】进大厂必须掌握的面试题-版本控制面试

    在Git中,如何还原已经被推送并公开的提交? 这个问题可能有两个答案,因此请确保同时包括这两个原因,因为根据情况,可以使用以下任一选项: 在新的提交中删除或修复错误的文件,然后将其推送到远程存储库。...对文件进行必要的更改后,将其提交到远程存储库,因为我将使用 git commit -m“ commit message” 创建一个新的提交来撤消在错误的提交中所做的所有更改。...在此脚本中,可以运行其他工具,例如linters,并对提交到存储库中的更改执行完整性检查。 Q12。您如何找到在特定提交中已更改的文件的列表?...,并且–name-only将仅显示文件名,而不是其路径。...您如何设置一个脚本,以便每次存储库通过推送接收到新的提交时运行?

    2.6K30

    Git 中文参考(五)

    替代术语 有时你不是在寻找引入破坏的提交,而是寻找导致其他“旧”状态和“新”状态之间发生变化的提交。例如,您可能正在寻找引入特定修复的提交。...要使用“旧”和“新”而不是“好”和坏,您必须运行git bisect start而不提交参数,然后运行以下命令来添加提交: git bisect old [] 表示提交是在寻求更改之前,或 git...它们还会影响 Git 如何在 git add 和 git commit 中存储您在存储库中的工作树中准备的内容。 text 此属性启用并控制行尾标准化。...无论何时创建 Git 存储库,都会创建一个名为“master”的分支,并成为活动分支。在大多数情况下,这包含本地开发,虽然这纯粹是按照惯例而不是必需的。...作为名词:除非它是快进,否则成功合并会导致创建表示合并结果的新提交,并具有父合并分支的提示。此提交称为“合并提交”,有时仅称为“合并”。 object Git 中的存储单元。

    25610

    Git 中文参考(三)

    -g --walk-reflogs 而不是走提交祖先链,将 reflog 条目从最新的条目转到较旧的条目。...注意:您可以在存储库配置中指定默认的漂亮格式(请参阅 git-config [1] )。 --abbrev-commit 而不是显示完整的 40 字节十六进制提交对象名称,而只显示部分前缀。...-z 将提交与 NUL 分开,而不是使用新换行符。 此外,当给出--raw或--numstat时,不要使用路径名并使用 NUL 作为输出字段终止符。...create 创建一个存储条目(这是一个常规提交对象)并返回其对象名称,而不将其存储在 ref 命名空间中的任何位置。这对脚本非常有用。它可能不是你想要使用的命令;看到上面的“推”。...这个新的工作树称为“链接工作树”,而不是“git init”或“git clone”编写的“主工作树”。存储库有一个主要工作树(如果它不是裸存储库)和零个或多个链接工作树。

    22610

    如何使用 Git 撤消(几乎)任何操作

    如果旧 commit 是“matter”,则新 commit 是“anti-matter”——旧 commit 中删除的任何内容都将添加到新 commit 中,而旧 commit 中添加的任何内容都将在新...这是 Git 最安全、最基本的“撤消”场景,因为它不会更改历史记录,因此你现在可以使用 git push 来提交新的 commit来撤消错误的 commit。...这取决于你到底想要完成什么: • 如果你想恢复项目当时的历史记录,请使用 git reset --hard • 如果你想在工作目录中重新创建一个或多个文件,而不更改历史记录,请使用 git...checkout -- • 如果你想将其中一个 commit 重放到存储库中,请使用 gitcherry-pick 再一次,通过分支 场景: 你提交了一些...现在 master 分支与 origin/master 同步,你希望 feaute 的 commit 现在就开始,而不是远远落后。

    36710

    从9G到0.3G,腾讯会议对他们的git库做了什么?

    之所以这么做,是为了保证其他平台无缝对接新的 Git 仓库,不用再更换 Git 地址,另外有些通过 api 调用的系统和工具也不受到影响。 瘦身内容: 历史记录删除,只保留最近半年的历史记录。...特殊分支处理 说明:以上历史记录裁剪并删除历史提交记录执行完后,对于基于截断提交节点前的提交节点创建出来的分支或者其子分支会出现文件被删除或者整个分支被删除的情况。...所以要提前弄清楚有没有在截断节点之前早就创建出来一直在用的分支,如果有就得特殊处理上面的2和3步骤了: 第2步中截断历史记录的时候,要类似分析 master 分支那样分析其它需要保留的特殊分支,找出各自的截断节点的父提交...,xxx" # 上面lfs转换执行完后,看一下根目录的.gitattribute文件里面是不是加入了新的lfs文件了 4.5 新建新仓库,推送所有历史记录修改 新创建目标仓库 test_backup.git...05 新代码库验证 git clone https://example.com/test_backup.git 使用 git lfs pull 先拉取主干分支所有的历史文件进行测试,保留瘦身的本地仓库

    99951

    Git 中文参考(二)

    还创建了引用主分支 HEAD 的初始HEAD文件。 如果设置了$GIT_DIR环境变量,则它指定要使用的路径而不是./.git作为存储库的基础。...使用现有存储库作为备用存储库,将需要从克隆的存储库中复制更少的对象,从而降低网络和本地存储成本。使用--reference-if-able时,将跳过不存在的目录,并显示警告而不是中止克隆。...BUGS 每次超级项目更新删除填充的子模块时(例如,在删除之前和之后切换提交时),旧的子模块检出将保留在旧位置。删除旧目录只有在使用 gitfile 时才是安全的,否则子模块的历史记录也将被删除。...BUGS 每次超级项目更新移动填充的子模块时(例如,当在移动之前和之后切换提交时),旧的子模块检出将保留在旧位置,并且空目录将出现在新位置。...在这种情况下,不需要新的提交来存储组合的历史记录;相反,HEAD(以及索引)更新为指向命名提交,而不创建额外的合并提交。 使用--no-ff选项可以抑制此行为。

    25010

    从仓库中移除敏感信息

    git filter-branch 命令和 BFG Repo-Cleaner 会重写你的版本库的历史记录,这会更改你修改的现有提交和任何相关提交的SHA。更改的提交SHA可能会影响仓库中的打开请求。...为了说明 git filter-branch 如何工作,我们将向你展示如何从仓库的历史记录中删除具有敏感数据的文件,并将其添加到 .gitignore 中以确保它不会被意外重新提交。 1....如果你的历史记录中尚未拥有敏感数据的存储库本地副本,请将克隆仓库到本地 电脑。...告诉你的同事 rebase 而不是 merge 它们创建的任何分支,这些分支是从旧的(受污染的)存储库历史中创建的。一次合并提交可能会重新引入一些或所有你刚才去除清除问题的受污染历史记录。...Total 2437 (delta 1461), reused 1802 (delta 1048) 注意:你也可以通过将已过滤的历史记录推送到新的或空的仓库,然后从GitHub创建新的克隆来实现此目的。

    98120

    Git 中文参考(四)

    /或…/开头),相对于超级项目的默认远程存储库的位置(请注意,指定存储库 foo.git ,这是位于超级项目 bar.git 旁边,您必须使用 …/foo.git 而不是 ....独立克隆并随后作为子模块或旧设置添加的存储库在子模块内部具有子模块 git 目录,而不是嵌入到 superprojects git 目录中。 默认情况下,此命令是递归的。...注意:您可以在存储库配置中指定默认的漂亮格式(请参阅 git-config [1] )。 --abbrev-commit 而不是显示完整的 40 字节十六进制提交对象名称,而只显示部分前缀。...注意:您可以在存储库配置中指定默认的漂亮格式(请参阅 git-config [1] )。 --abbrev-commit 而不是显示完整的 40 字节十六进制提交对象名称,而只显示部分前缀。...否则,将下一个但不是 HEAD 的提交引入的更改应用于当前分支,为每个新更改创建一个新提交。

    24510

    开发者应该知道的 50 条最实用的 Git 命令

    团队中的每个人都可以在自己的本地机器上保留正在开发的存储库的完整备份。然后,多亏了BitBucket、GitHub或GitLab这样的外部服务器,他们可以安全地将存储库存储在一个地方。...git commit -a -m"your commit message here" 如何查看Git中的提交历史: 这个命令显示当前存储库的提交历史: git log 如何查看你的提交历史记录,包括Git...如何在Git中回滚最后一次提交: git revert将创建一个新的提交,它与给定提交的所有内容相反。...git revert comit_id_here 如何在Git中创建一个新的分支: 默认情况下,您只有一个分支,即main分支。使用这个命令,您可以创建一个新的分支。...它将显示所有分支的列表,并用星号标记当前分支,并用绿色高亮显示。 git branch 如何在Git中创建分支并立即切换到它: 在单个命令中,您可以立即创建并切换到一个新的分支。

    1.8K10

    Git 中文参考(六)

    这与svn update或 git pull 类似,只是它保留 git rebase 而不是 git merge 的线性历史,以便于 git 的同意 svn 。...这样做将使未集成提交的历史相对于上游 SVN 存储库保持线性,并允许使用首选 git svn dcommit 子命令将未集成的提交推送回 SVN。...reset 命令允许前端为现有分支发出新的from命令,或者从现有提交创建新分支而不创建新提交。...处理重命名 导入重命名的文件或目录时,只需删除旧名称并在相应的提交期间修改新名称。 Git 在事后执行重命名检测,而不是在提交期间显式执行。...--remote= 而不是从本地存储库创建 tar 存档,从远程存储库中检索 tar 存档。请注意,远程存储库可能会限制<tree-ish>中允许哪些 sha1 表达式。

    31310
    领券
    首页
    学习
    活动
    专区
    圈层
    工具