首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git-p4如何获取变更列表

git-p4如何获取变更列表
EN

Stack Overflow用户
提问于 2017-01-25 09:26:23
回答 2查看 1.2K关注 0票数 4

git p4 submit --shelve将您提交的更改放在本地git存储库中,并将它们放入更改列表X中并将其搁置。

假设我对搁置的更改做了一些代码审查,因此我本地git repo中的文件与changelist X中的文件不同。我如何将changelist X中的更新放入我的本地git repo中?

EN

回答 2

Stack Overflow用户

发布于 2017-07-13 02:59:21

我做了一个modified version of git-p4.py来支持这一点。您可以创建一个文件,其中包含每个搁置的更改列表的更改编号。然后只需运行git p4 sync --changesfile <filename>即可。

唯一的问题是,这会将更改导入到p4/master分支中,因此git-p4会认为这些更改已经提交。如果您使用它,您将不得不对新导入的提交进行一些本地git分支的硬重置,然后将p4/master引用硬重置回导入之前的状态。它还将[git-p4: depot-paths = ...]信息添加到提交消息的底部,因此它不适合直接运行git p4 submit。您可能会编写某种git提交过滤器来批量剥离这些内容。

尽管如此,我认为它比手动处理p4 unshelvep4 diff -dau > foo.patchpatch -Npx -i要好得多。

票数 1
EN

Stack Overflow用户

发布于 2017-02-07 04:09:43

您可以生成一个diff,然后将其应用于您的git树。(生成差异的最简单、最可靠的方法可能是将变更集取消搁置到一个干净的Perforce客户端中,然后执行p4 diff -du ...。但请注意,这不适用于添加或删除的文件。)

在将来,您应该避免需要这样做。首先,使用git-p4的目的是主要使用git,但要将更改同步到Perforce或从Perforce同步更改。因此,您的git环境应该是您的“主”环境,您的Perforce客户端应该只用作Perforce服务器的一个中间区域。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41841917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档