- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我做了一个相当大的重构,构建了一个二进制文件并提交给 QA 进行测试。我想在等待 QA 回来的同时开始开发新功能,假设我可能必须返回并根据 QA 结果更改一些内容。
在 Git 中,我会在分支上进行重构 bigRefactor
, 在此基础上进行构建,提交给 QA,然后分支 postBigRefactorNewFeature
来自 bigRefactor
并继续工作。当 QA 返回所需的更改时,我会切换回 bigRefactor
,进行所需的更改,提交,然后切换到 postBigRefactorNewFeature
或者git rebase
或 git cherry-pick
从 bigRefactor
带来我的改变进入postBigRefactorNewFeature
.
在 Perforce 中,我能想到的最好办法是将我用于 QA 的文件搁置在更改列表 A 上,描述为“大重构”而不在本地恢复,将本地更改(现在复制到搁置)移动到新的更改列表 B 的描述为“发布大重构新功能”,然后继续工作。当 QA 回来时,我将不得不搁置我在变更列表 B 中的工作,恢复,从变更列表 A 中取消搁置,进行所需的更改,然后以某种方式将变更列表 B 中搁置的文件 merge 到工作区中。
据我所知,无法将书架 merge 到工作区的当前状态。我该怎么做?
最佳答案
是的,您可以使用您描述的工作流程将货架用作微型分支。 Perforce 处理“以某种方式 merge 书架上的文件”部分。
只要您有足够新的服务器版本,您就可以将架子上的更改 merge 到工作区的当前状态(我相信此功能是在 2011.1 版中添加的,尽管它可能比那晚一点) .
您可以“取消搁置进入打开的文件”;当您取消搁置一个对您当前打开的文件进行编辑的搁架时,Perforce 会在搁置的更改和您打开的文件之间安排一个解决方案。
整个过程与其他解析非常相似,使用起来非常简单。
这是新功能的发行说明。
#299614 (Bug #38221, #39099) **
Unshelving a file opened for edit over a file already opened
for edit in the workspace is now allowed. A resolve record is
created when unshelving, and the user must then run 'p4 resolve'
to resolve the workspace files with the shelved files.
其他最近的搁置功能包括通过分支规范取消搁置的能力,以及直接提交搁置更改而不先取消搁置的能力。货架在最近的版本中有了很大的改进。
您可以设置一个小型测试服务器并对此进行一些试验,以便您更详细地了解它的工作原理,并在 Perforce 行为令人困惑时提出更准确的问题。
也就是说,我自己的经验是,如果您的工作流程足够复杂,那么执行“使用货架作为迷你分支”的方法就会变得困惑,因此在某些时候可以简单地创建分支。当然,Perforce 完全支持分支,即使精确的机制与 git 不同。
关于git - 与此 Git 工作流等效的 Perforce 工作流是什么?货架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27292658/
我想要命令检查我是否已经登录 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 忘记它们吗? 最佳
我是一名优秀的程序员,十分优秀!