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

当源存储库路径包含空格时,如何使用git p4将存储库从Perforce迁移到GitHub

当源存储库路径包含空格时,使用git p4将存储库从Perforce迁移到GitHub的步骤如下:

  1. 确保已经安装了git和git-p4工具。如果没有安装,可以根据操作系统的不同,使用适当的包管理器进行安装。
  2. 打开命令行终端,并进入要进行迁移的存储库所在的目录。
  3. 使用以下命令初始化git仓库,并将其与Perforce存储库关联起来:
  4. 使用以下命令初始化git仓库,并将其与Perforce存储库关联起来:
  5. 这将创建一个与Perforce存储库关联的本地git仓库。
  6. 进入新创建的git仓库目录:
  7. 进入新创建的git仓库目录:
  8. 使用以下命令创建一个新的远程仓库,并将其与GitHub关联起来:
  9. 使用以下命令创建一个新的远程仓库,并将其与GitHub关联起来:
  10. 这将在本地git仓库中添加一个名为"origin"的远程仓库,并将其与GitHub上的指定仓库关联起来。
  11. 使用以下命令将本地git仓库的提交推送到GitHub上的远程仓库:
  12. 使用以下命令将本地git仓库的提交推送到GitHub上的远程仓库:
  13. 这将把本地git仓库的"master"分支推送到GitHub上的远程仓库,并将其设置为默认的上游分支。

至此,你已经成功将存储库从Perforce迁移到GitHub。在这个过程中,git p4工具帮助你将Perforce存储库的提交转换为git提交,并将其推送到GitHub上的远程仓库。

注意:以上步骤仅适用于源存储库路径包含空格的情况。如果源存储库路径不包含空格,可以直接使用git p4工具进行迁移,无需额外的步骤。

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

相关·内容

如何在Ubuntu 14.04上使用Transporter转换后的数据MongoDB同步到Elasticsearch

本教程向您展示如何使用开源实用程序Transporter通过自定义转换数据MongoDB快速复制到Elasticsearch。...目标 在本文中,我们介绍如何使用Transporter实用程序数据MongoDB复制到Ubuntu 14.04上的Elasticsearch 。...cd $GOPATH mkdir src pkg bin src 包含组织到包中的Go源文件(每个目录一个包) pkg 包含包对象 bin 包含可执行命令 第6步 - 安装Git 我们将使用Git来安装...克隆Transporter GitHub存储git clone https://github.com/compose/transporter.git 进入新目录: cd transporter 取得...结论 现在我们知道如何使用Transporter数据MongoDB复制到Elasticsearch,以及如何在同步转换应用于我们的数据。您可以以相同的方式应用更复杂的转换。

5.4K01

9.2 Git 与其他系统 - 迁移到 Git

移到 Git 如果你现在有一个正在使用其他 VCS 的代码,但是你已经决定开始使用 Git,必须通过某种方式将你的项目迁移至 Git。...你将会学习如何几个大型专业应用的 SCM 系统中导入数据,不仅因为它们是大多数想要转换的用户正在使用的系统,也因为获取针对它们的高质量工具很容易。...Mercurial 因为 Mercurial 与 Git 在表示版本时有着非常相似的模型,也因为 Git 拥有更加强大的灵活性,一个仓库 Mercurial 转换到 Git 是相当直接的,使用一个叫作...运行 git p4 clone 命令 Perforce 服务器导入 Jam 项目,提供仓库、项目路径与你想要存放导入项目的路径: $ git-p4 clone //guest/perforce_software...目录,需要了解 Git 如何存储它的数据。

2K10

Git基础知识(一)

每次你提交更新,或在 Git 中保存项目状态,它主要对当时的全部文件制作一个快照并保存这个快照的索引。为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。...比如,用 Perforce,你没有连接服务器几乎不能做什么事;用 Subversion和CVS,你能修改 文件,但不能向数据提交修改(因为你的本地数据离线了)。...使它包含在下次提交的快照中 Git项目的三个工作区域:Git仓库,工作目录,暂存区域 Git 仓库目录是 Git 用来保存项目的元数据和对象数据的地方。...这些 Git 仓库的压缩数据中提取出来的文件,放在磁盘上供你使用或修改。 暂存区域是一个文件,保存了下次提交的文件列表信息,一般在 Git 仓库目录中。...基本的Git工作流程 在工作目录中修改文件。 暂存文件,文件的快照放入暂存区域。 提交更新,找到暂存区域的文件,快照永久性存储Git 仓库目录。 ?

51530

1.3 起步 - Git 基础

在开始学习 Git 的时候,请努力分清你对其它版本管理系统的已有认识,如 Subversion 和 Perforce 等;这么做能帮助你使用工具避免发生混淆。...比如,用 Perforce,你没有连接服务器几乎不能做什么事;用 Subversion 和 CVS,你能修改文件,但不能向数据提交修改(因为你的本地数据离线了)。...已提交表示数据已经安全的保存在本地数据中。 已修改表示修改了文件,但还没保存到数据中。 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。...Git 仓库目录是 Git 用来保存项目的元数据和对象数据的地方。 这是 Git 中最重要的部分,其它计算机克隆仓库,拷贝的就是这里的数据。 工作目录是对项目的某个版本独立提取出来的内容。...这些 Git 仓库的压缩数据中提取出来的文件,放在磁盘上供你使用或修改。 暂存区域是一个文件,保存了下次提交的文件列表信息,一般在 Git 仓库目录中。

64060

Git 中文参考(六)

遇到非 ASCII 消息,7 位失败。存储包含包含回车符的文件,quoted-printable 可能很有用,但是使原始补丁电子邮件文件( MUA 保存)更难以手动检查。...要使用包含 SP 的路径,必须引用该路径。 filecopy命令立即生效。位置复制到目标后,应用于位置的任何将来的命令都不会影响副本的目标。...要使用包含 SP 的路径,必须引用该路径。 filerename命令立即生效。位置重命名为目标后,应用于位置的任何将来命令都将在其中创建新文件,而不会影响重命名的目标。...但是,对于某些前端,能够在更新当前存储中读回数据非常有用(例如,材料根据要应用于先前导入的对象的补丁描述对象)。...如果前端可以标记绑定到存储,则可以通过每个 Git 提交与相应的修订进行比较来轻松验证导入的准确性和完整性。

20310

Git 中文参考(二)

--separate-git-dir= 不是存储初始化为$GIT_DIR或./.git/的目录,而是在其中创建包含实际存储路径的文本文件。...--shared -s 要克隆的存储位于本地计算机上而不是使用硬链接,会自动设置.git/objects/info/alternates以与存储共享对象。...但是,运行git gc是安全的,它默认使用-l选项。 如果要在其存储中中断使用-s克隆的存储的依赖关系,只需运行git repack -a即可将存储中的所有对象复制到克隆存储中的包中。...已经另一个存储借用对象的存储本地克隆,也可以使用此选项 - 新存储将从同一存储中借用对象,并且此选项可用于停止借用。 --quiet -q 安静地操作。...仅目录为空才允许克隆到现有目录中。 GIT 网址 通常,URL 包含有关传输协议,远程服务器的地址以及存储路径的信息。根据传输协议,可能缺少某些信息。

14910

20+最好的持续集成工具

它将立即执行的更改隔离开来,并在更改添加到更大的代码同时报告。 持续集成的主要目标是在发现代码中的任何缺陷提供快速反馈,并尽快纠正它。它使服务器上的测试过程自动化,并向用户提供自动报告。...它还只使用一个存储。它使部署过程自动化,并快速构建自我测试。...开发人员或测试人员可以轻松地Travis CI与GitHub同步并执行测试。对于每个规模的项目,它都有每种类型的私有存储计划。...Integrity是一个基于R'uby开发的CI服务器,只与GitHub一起工作,用户可以通过使用镜像存储使用其他具有完整性的SCM工具,这意味着GitHub镜像其他SCM,然后完整性就可以使用它。...为此,用户必须不断更新镜像存储。 每当用户提交代码,都会构建并运行代码的完整性。然后,它生成报告并向用户提供通知。

3.7K30

聊聊用于构建微服务的工具和技术

本文主要关注RESTful微服务,而且,无论使用何种语言/体系结构,下面说到的大多数工具/技术都可以使用。...Crucible是Atlassian另一个支持VCS的流行工具,如Git,svn,CVS,Perforce等。Gerrit和Phabricator 是许多免费/开源代码审查工具中的两个。...这样,当我们看到日志语句,我们知道哪个服务生成了日志事件以及生成该事件的服务的位置。现在的问题是找出导致该事件的哪些行动。我们需要一种一系列事件追溯到的方法,即使它意味着遍历多个服务。...因为服务器几乎同时处理多个客户端,日志输出通常是交错的。 服务内部:维护服务中的日志生命周期具有优势; 它完全独立于其他服务,可以选择最适合的日志策略。...基础设施出发:在这种方法中,每个服务都将日志发送到中央服务,中央服务知道如何处理,存储或向其他日志服务器发送日志。 查看日志:简单地查看日志不是查看日志的正确解决方案。

1.5K60

代码托管从业者 Git 指南

SVN 迁移到 Git GCC(仍处于迁移过程中) SVN 迁移到 Git Windows 源码(已经迁移到 Git使用 VFS for Git 技术) VIM 迁移到 GitHub OpenJDK...Pack 文件的路径正则为 objects\/pack\/pack-[0-9a-f]{40}.pack$,存储使用 SHA256 哈希算法,相应的路径正则为objects\/pack\/pack...大型存储的优化 目前国内 IT 行业版本控制系统都在往 Git 迁移,一些大型企业,软件源码历史悠久,存储的文件各种各样,在迁移到 Git ,体积巨大的存储给代码托管平台带来了压力,首当其冲的问题就是其他版本控制系统迁移到...转移到 Git 后,如果存储包含很多的二进制文件,存储体积巨大,那么用户拉取的时间还是会很长,一种解决方案是将不同的数据分离,也就是体积大的二进制文件,通过 Git 扩展 git lfs 追踪,源码中排除...当然还有一种方案就是只执行一次钩子,然后使用协调机制钩子的结果广播到其他副本,共同进退。 存储在不一致,或者停机中恢复后,多写高可用依然需要考虑存储的同步,以保证不同节点的一致性。

1.1K30

给女朋友讲清楚GitGitHub的区别,这一篇就够了!

VCS会同步版本,并确保您的更改不会与使用同一存储的其他版本发生冲突。 其他人保存您的代码的新版本,VCS会保留更改的历史记录。您可以查看此历史记录,以了解谁,为什么以及何时进行了什么更改。...此外,您希望所做的更改直接显示在计算机的项目目录中。 在处理项目,与团队成员保持一致对于避免任何类型的冲突都是非常重要的。那么,您将如何做呢?...使用Git,无论何时提交或保存项目状态,都会获取当前文件状态的快照并为其存储引用。如果未进行任何更改或更新,则Git存储一个到先前已经存储的文件的链接。下图展示了Git如何存储不同的版本: ?...但是,只有当您知道协作者的系统何时打开并连接到网络Git才有用。那么您的团队成员不在线您将怎么办?在这种情况下,拥有相同项目副本的第三方很方便,您可以在其中轻松地进行更改。...字面上看,它是Git存储的中心,您可以在GitHub上创建一个免费帐户,就可以在其中使用它。这些帐户具有丰富的存储空间,您可以在其中存储您的存储并建立适当的配置文件来保存所有最重要的项目。

2K20

Git 中文参考(一)

[1] Perforce 存储导入并提交到 Perforce 存储 git-quiltimport[1] quilt 补丁集应用于当前分支 git-request-pull[1]...[1] 删除不必要的空格 配置机制 Git 使用简单的文本格式来存储每个存储和每个用户的自定义项。...无论此变量的设置如何,双引号,反斜杠和控制字符始终都会被转义。简单的空格字符不被视为“不寻常”。许多命令可以使用-z选项完全逐字输出路径名。默认值是 true。...如果你想设置 git pull 以便它合并到本地存储中的另一个分支,您可以分支..merge 指向所需的分支,并使用相对路径设置.(句点)进行 branch..remote。 branch....gc.auto 存储中存在大约多个松散对象git gc --auto打包它们。一些 Porcelain 命令使用此命令不时执行轻量级垃圾收集。默认值为 6700。

20720

常用Git命令和操作(github)

如果没有远程,可以先注册一个github账号,然后创建一个新的远程使用git clone [github url]命令复制一个远程,就自动与该远程建立起了关联。...origin是远程实际地址的别名。 git remote -v 命令,可以查看远程的完整路径地址。 如果想要将本地的git与远程关联起来,可以使用git remote命令。...远程仓库拉取修改 git pull origin [branchname] 使用git pull命令拉取,会自动远程仓库中的代码与本地分支进行合并。...步骤如下: 阅读项目的 CONTRIBUTING.md 文件,了解如何贡献 查看项目现有的Issues 与项目维护者交流 fork仓库 fork克隆到本地计算机 创建新的特性分支 修改commit...到分支 使用git push推送到你的fork上 新建一个Pull Request,包含你的新分支 与开发者的保持同步 fork(别名origin)和(被fork的那个)可能不同步,为了保持同步

61640

代码托管从业者 Git 指南

SVN 迁移到 Git GCC(仍处于迁移过程中) SVN 迁移到 Git Windows 源码(已经迁移到 Git使用 VFS for Git 技术) VIM 迁移到 GitHub OpenJDK...[q3zsjcwswo.png] Pack 文件的路径正则为 objects\/pack\/pack-[0-9a-f]{40}.pack$,存储使用 SHA256 哈希算法,相应的路径正则为objects...大型存储的优化 目前国内 IT 行业版本控制系统都在往 Git 迁移,一些大型企业,软件源码历史悠久,存储的文件各种各样,在迁移到 Git ,体积巨大的存储给代码托管平台带来了压力,首当其冲的问题就是其他版本控制系统迁移到...转移到 Git 后,如果存储包含很多的二进制文件,存储体积巨大,那么用户拉取的时间还是会很长,一种解决方案是将不同的数据分离,也就是体积大的二进制文件,通过 Git 扩展 git lfs 追踪,源码中排除...当然还有一种方案就是只执行一次钩子,然后使用协调机制钩子的结果广播到其他副本,共同进退。 存储在不一致,或者停机中恢复后,多写高可用依然需要考虑存储的同步,以保证不同节点的一致性。

1.2K30

GOPATH 模式怎么迁移至 Modules 模式?

某些项目将其整个 GOPATH 目录存储在单个 Git 存储中。其他人只是依靠 go get 获取,并期望在 GOPATH 中安装相当新版本的依赖项。...05 在模块模式下测试 迁移到 Go 模块后,某些测试可能需要进行调整。如果测试需要在程序包目录中写入文件,则程序包目录位于 module cache (只读),它可能会失败。...但是,go 命令可能会通过许多不同的远程导入路径遇到同一个包含模块的存储。...例如,golang.org/x/lint 和github.com/golang/lint 都解析为包含 go.googlesource.com/lint 上托管代码的存储。...该存储包含的 go.mod 文件将其路径声明为golang.org/x/lint,因此仅该路径对应于有效模块。

2.1K20

Git 中文参考(三)

对这些类型的正则表达式的支持是可选的编译依赖性。如果 Git 没有编译并支持它们,那么提供此选项导致它死亡。 --remove-empty 给定路径树中消失时停止。...--unshallow 如果存储已完成,请将浅存储转换为完整存储,从而消除浅存储所施加的所有限制。 如果存储很浅,则尽可能多地获取,以便当前存储存储具有相同的历史记录。...无法确定或声明具有此行为的存储中的分支可用;拉动用户只需知道这是分支的预期使用模式。 | GIT 网址 通常,URL 包含有关传输协议,远程服务器的地址以及存储路径的信息。...--unshallow 如果存储已完成,请将浅存储转换为完整存储,从而消除浅存储所施加的所有限制。 如果存储很浅,则尽可能多地获取,以便当前存储存储具有相同的历史记录。...因此,这些提交通过存储上的git gc命令删除。 安全 提取和推送协议的目的不是为了防止一方窃取不打算共享的其他存储中的数据。

16810

智能网卡系列三:P4语言的演进简述

例如:以太网报头具有 48b MAC 地址字段、48b 目标 MAC 地址字段和 16b 以太网类型字段。 解析器:数据包中的标头如何排序,它们如何识别封装的内部标头?...论文中使用P4 程序 DC.p4 可在 P4 github 存储中找到,我们用它来说明 P4 的特定方面。 如图所示:描述P4语言的开发环境 这个练习给了我们几个教训。...在业务处理流程中,我们还发现最初的 P4 提案无法表达某些类型的数据包处理。其中之一是等价多路径 (ECMP),这是一种在数据中心中使用的负载平衡机制,用于在一组候选传出链路之间分散流量。...包含指令是一种相当弱的模块化形式:每个包含P4 文件都可以读/写任何其他包含P4 文件读/写的所有标头。其次,一些P4语义不精确。例如,整数数据包字段溢出时会发生什么:它是环绕还是饱和?...如果它们被证明是广泛使用的,它们最终可能会迁移到标准的 P4 中。总的来说,一些 P4 结构(如动作原语)移动到组件中将简化语言核心。

37630

Docker构建代码执行漏洞

在查看文档我注意到的第一件事是 注意:如果URL参数包含片段,则系统将使用git clone --recursive命令以递归方式克隆存储及其子模块。...:docker 在此示例中,所有URL都引用GitHub上的远程存储,并使用容器分支和docker目录作为构建上下文。...另一个好消息是,因为os / exec包每个字符串视为要传递的参数,如果提供的字符串包含空格,则将其视为引用它。因此导致执行最终命令。不是很有帮助,但是在成为漏洞的一半。...事实证明,有一个--upload-pack理想的选择:--upload-pack 给定,并且要获取的存储git fetch-pack处理,--exec=<upload-pack...:不存在gitURL解析为本地路径。由于它是一个本地路径,所提供的--upload-pack最终将被用作执行的二进制文件git fetch-pack。

1.5K20

为何Google几十亿行源代码放在一个仓库?| CSDN博文精选

10亿文件,近百TB源代码都存放在自行开发的版本管理系统Piper中,只当项目开源且需要外部协作,才会使用业界流行的Git。...开发人员可以 Piper工作区存储在本地计算机上。Piper 还可以和 Git 进行有限的互操作。...对代码的更改是单一串行的。在任何代码提交之后,其他所有开发人员都能看到并使用新代码。 在Google,通常只在发布上线才会使用分支。发布分支是代码某次修改中分割出来的。...代码规模的增长使得代码查找变得愈加困难。开发人员必须能够探索代码,找到相关的,并了解如何使用它们以及谁编写它们。作者经常需要了解他们的 API 如何使用。这需要对代码搜索和浏览工具的投资。...备选方案 随着像Git这样的分布式版本控制系统(DVCS)的普及和使用越来越多,Google 曾考虑过是否Piper转移到Git作为其主要的版本控制系统。

2K10

入门Github,这篇文章够了!

二、在github上创建一个存储 1. 单击start a project ? 2. 输入存储名称,输入对这个的描述,选择公开的,单击create repository ? 3....创建完这个我们就要有些想法啦,如何把本地与github的新建的连接起来来方便咱们提交同步代码呢? 三、安装Git Bash(windows) 1. 打开git-scm.com ?...四、配置Git Bash与github的连接(通俗的讲就是把本地github存储连起来) 1....输入$ ssh-keygen -t rsa -C “你注册github的邮箱地址” 这里真的真的有重点,我真的真的踩了很多坑! ssh-keygen后面有空格 -t后面有空格 rsa后面有空格 ?...我们一起去github看看我们本地上传到github的文件 如果你还停留在某个页面因为英文不好不知道点哪里,一头雾水找不到我们的的时候,点下图的小黑猫就可以 ?

55820

GitGitHub入门到实践1 GitGitHub 基础简介

下面通过 Git 的一个实验来尝试理解什么是克隆了完整的代码副本。 首先我在 GitHub 上建立了一个用于实验的公开代码。代码中目前只包含有少量的源文件和提交记录,如清单 1 所示。....git 目录中包含了代码所有的存储对象和记录。...诚然,类似 SVN 和 Perforce 一类的集中式分布系统,没有网络连接我们依然可以对本地代码进行修改,但却无法提交代码,更不用说查询提交历史,比对版本差异。...在日常的开发工作中,修改代码只是工作的一部分,还有很大部分工作需要不断与代码各历史版本进行交互。在集中式分布系统中,发生网络异常,这类工作就几乎无法进行从而很可能导致开发中断。...从这里也能看到 Git存储文件不同版本,确实是存储了各历史版本全量的文件而非其增量。 注意:实际操作中也可以使用哈希值的前八位缩写,如:git cat-file -t 6d1f98e1。

76640
领券