- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我是一名尝试学习 Perforce 的 Git 用户。
在 Git 中,用户可以从主分支 checkout ,更改一些文件并将他的代码推送到具有特定提交 ID 的不同分支上的服务器。
另一个 Git 用户可以使用其提交 ID check out 该新分支并在其上工作。
如何使用 Perforce 执行此操作?
最佳答案
I am a Git user trying to learn Perforce.
对不起。
How can this be performed using Perforce?
我是一个更好的 Git 用户,而不是 Perforce 用户,所以如果有任何错误,请纠正我。我强烈建议阅读手册页和 a tutorial .
它“不能”是,至少不是 Git 的做法。
在 git
中,当您创建一个分支时,您正在分支 存储库的整个状态。 Perforce 不支持这个,相反,它的“分支”更每个文件:即,您将文件 A 分支到文件 B,此时文件 B 包含对文件 A 的反向引用,说“我从这里来的。”然后可以使用此反向引用来确定用于 merge 目的的共同祖先。然而,我的理解是这些反向引用是针对每个文件的,您可以自由地将任何文件集成( merge )到任何其他文件中。 (与 git 相比,其中“父提交”是您的反向引用,但在整个存储库范围内。)
您可以使用 p4 integrate
对整组文件进行分支,使用典型的 Perforce 语法(例如,//depot/some/path/...
)。通常,您会将整个目录分支到另一个目录,例如 //depot/main/my_project
到 //depot/release-1.0/my_project
,或者相似的东西。据我所知,Perforce 并不真正关心路径:它只是将文件从一个位置“分支”到另一个位置。路径中的任何模式或理智取决于您。
此外,您可以使用 p4 branch
创建“分支规范”,这基本上是一种记录文件源集及其目的地的方法,使分支更容易。 (如果以发布为例,您可能希望最终 merge 回更改,或将进一步的更改 merge 到发布中,等等)
两次我都使用 Perforce,分支是一种与 Git 不同性质的野兽,这里有一点文化差异。 Twig 比较少见。 (我只看到它们用于发布,曾经。)我们没有将它们用于功能分支,除了最大的功能;与 git
相比,对我来说“功能分支”通常是“它花费了 >1 次提交”。
关于git - Perforce 分支与 git 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23208128/
我想要命令检查我是否已经登录 perforce,如果我登录则返回 0,否则返回一些非零值来表示错误。如何从命令行实现这一点? 最佳答案 p4 help login说: p4 login [-a -p]
我有几个类似的基于代码分支的顶部和 perforce 的同一个工作区的待定更改列表。我需要区分它们并(最终)将它们合并到一个更改列表中。最快和最简单的方法是什么?我宁愿避免创建一个临时分支。 最佳答案
我知道 //depot/foo/... 将映射 //depot/foo/ 下的所有文件和文件夹。那么,//depot/foo/* 有什么作用呢?我被告知不要使用它,并想了解原因。 最佳答案 ... 递
假设,我有两个变更列表 A 和 B(位于 A 之上)。 现在,我只想要在 B 中完成的更改,而不是包含在 A 中的更改,即 B-A 有可能这样做吗? 最佳答案 是的。做: p4 undo @A,A p
当我在我的 perforce 工作区中运行 p4 info 时,它会向我显示我的工作区的一些 perforce 客户端信息。但我想看看它到底是从哪里获取这些信息的。我尝试用谷歌搜索它,但到处都只讲述该
我需要使用带有更改列表的文件规范来运行一些 p4 命令,但我不想在子文件夹中包含文件。通常语法是: //depot/projectA/...@1234 但是,这包括所有子文件夹。如何将结果限制为仅适用
两个文件最终出现在我的 Perforce Depot 中,内容不同,但只有名称的大小写不同: //depot/path/to/file/readme.txt //depot/path/to/file/
是的,我工作的公司仍在使用 perforce。工作区是本地的一组文件。但是 p4 client 和 workspace pls 之间的关系是什么? 最佳答案 它们本质上是同义词。 “客户端”通常是“客
是的,我工作的公司仍在使用 perforce。工作区是本地的一组文件。但是 p4 client 和 workspace pls 之间的关系是什么? 最佳答案 它们本质上是同义词。 “客户端”通常是“客
有时我会“标记为添加”并将文件添加到 Perforce,但实际上我并不希望 Perforce 担心。 有没有办法恢复它,使其在 P4V 中显示为“未跟踪”项目? 看我的例子: 我错误地添加了 mil.
我在 Windows 上的同一目录中有两个 perforce 工作区根目录。例如: C:\Perforce_windows_workspaces\wkspc1 C:\Perforce_windows_
当我运行 p4 files ... 和 p4 dirs ... 时,所有返回值都具有相对于 depot 根文件夹的路径。是否有与返回实际工作区路径的 files 和 dirs 具有相同功能的命令? 最
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
我有一个很大的 Perforce depot,我相信我的客户端目前有大约 2GB 的文件与服务器同步,但是验证我的文件是否完整、同步和最新到给定更改级别的最佳方法是什么(这可能比目前客户端上的少数文件
假设我在 //depot/MyProject 下有一个项目.在变更列表 1001 中,这个项目在方向上发生了重大变化,改变了它的一切。在 2001 年的变更列表中,它得到了 p4 delete d.该
如果我将代码库 checkin perforce,排除目录的正确方法是什么?我注意到从工作区中删除文件夹会将其从库中排除,但这是正确的方法吗? 谢谢 最佳答案 如果您要排除的目录根本不应该受版本控制,
我想获取我当前客户端规范的仓库中的最新更改列表。如果我做了 p4 sync,这将有效地同步到更改。在我的工作区。 我试着做 p4 changes -s submitted -m1 -c [client
我正在使用“我的”Perforce 分支,修复代码中的一些小问题。我时不时地与另一个分支(“main”)集成。 每次提交到“我的”分支时,我都会编写大量的更改列表描述。当我集成时,我希望合并(“my-
使用 perforce,用户可以通过在 Reviews 中指定特定文件或目录的更改来获取电子邮件通知。用户记录的字段(在 Perforce documentation 中有更多详细信息)。 但是,我希
P4 一直想要提交一些磁盘上不存在的文件: open for read: : The system cannot find the path specified. 知道如何让 P4 忘记它们吗? 最佳
我是一名优秀的程序员,十分优秀!