问题标签 [git-p4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - git p4 提交:补丁不适用
最近我一直在使用 git-p4 遇到问题。
我目前的工作流程是:
并非总是如此,但偶尔在执行时git p4 submit
,更改实际上并不适用,而是我看到:
做一些研究,我尝试在 master 上进行硬重置并在没有--no-ff
标志的情况下再次合并,但这似乎没有帮助。
任何想法都非常感谢。
git - git p4 提交失败
我尝试在我一直在运行的 repo 上运行 git p4 submit 作为 git 和 perforce 之间的临时桥梁。多人将 repo 用作遥控器,并定期将其提交回 perforce。
它一直工作得很好,除了一些重复的 perforce 提交,它们的奇怪行为我似乎无法重现。然后有一天我突然收到了这个错误。我不能再推动任何 git 提交来执行。
该错误看起来很像这个错误:
除了我没有做任何关键字替换,所以我不知道它可能是什么。添加--verbose
似乎对解释没有多大帮助(我手头没有该命令输出)
我能想象的唯一变化是我在提交时添加了一个 .gitattributes 文件,其中包含以下内容。但是,在该 gitattributes 文件就位的情况下,在此提交之前进行的提交确实有效,所以不可能是这样(我已经使 .gitattributes 文件更详细)
我已经尝试将远程仓库中的提交回滚到这个有问题的提交之前,然后将它们从我的仓库重新推送到这个远程仓库,然后重新提交。相同的行为。我尝试回滚,并对同一个文件进行不同的编辑,重新推送,重新提交。相同的行为。它似乎只发生在这些文件中。自回滚以来,我尝试对其他文件进行编辑并且它们可以工作。我尝试运行 dos2unix 以强制在有问题的文件上使用 unix 行结尾,但这也没有解决它。
什么命令可以让我更好地解释这里发生了什么?有我可以跟踪的 git 日志文件吗?任何援助将不胜感激。
编辑:我已经重新测试了使用和不使用 .gitattributes 文件的问题。这没有什么区别。目前我的全局 core.autocrlf 设置是输入。但是缺少 .gitattributes 文件似乎没有什么区别。这是我只用一个有问题的文件重新测试它时的样子--verbose
。
git - git p4 rebase 尝试重新应用过去的提交
我遇到了 git p4 rebase 问题,我不知道如何开始诊断问题,更不用说问题是什么了。
所以我有一个 git-p4 从 perforce 工作区克隆的 git repo,它被用作远程 repo 以充当桥梁,因此团队可以针对一个远程 repo 使用 git,然后定期,我可以将 repo 的更改推送回工作区。
通常工作流程是这个人在主分支上,进行编辑,git -a commit
s,git pull
再次,然后将git push
它们发送到远程仓库,或者他们创建一个分支,然后在他们完成后将该分支合并回来然后将主分支推送到远程。如果他们需要超过一天的时间,他们可能会偶尔将分支向上推。
当我将东西推回 perforce 时,我在远程仓库中运行以下命令
远程仓库不是裸露的,这就是我在前后运行结帐和清理的原因
基本上不时地,在更改被推回后,当我执行 git p4 rebase 时,我收到以下错误
所以我有很多问题,在这里,当它执行 git rebase 时git p4 rebase
,它会重新应用一些已经应用到远程仓库的提交,这些提交已经从以前的git p4 rebase
. 重复提交从何而来?为什么它仍然试图通过 repo 重放它们?
当我在 repo 的工作副本中检查文件时,它与工作区相同,因为自上次git p4 rebase
. 结果git rebase --continue
并没有真正做任何事情。
唯一的解决方案是运行git rebase --skip
,但是当我这样做时,当我随后运行时会出现相同的消息,并且每次git p4 rebase
都必须重新运行。git rebase --skip
真让人生气。
有时,我不完全确定在通过此消息后,它实际上会如何在我运行时将提交推送到 p4 工作区,git p4 submit
从而导致重复的 p4 提交和混乱的文件。我相信它会在我跑步时发生git rebase --continue
,git rebase --skip
然后git p4 submit
当我检查 git 日志时,HEAD 通常在 master 之前提交,但是如何?
然后偶尔错误会再次消失,我无法弄清楚它消失的确切条件。
我什至如何开始解决这个问题?
git - 流支持 git-p4 还是好的 p4 命令行教程?
我当前的项目位于 perforce 流工作区中。我对 git 很熟悉,但是 git-p4 不支持流。你知道绕过这个限制的方法吗?
你知道 perforce 的优秀 CLI 教程吗(从 git 用户的角度来看)?或者甚至是一个命令行包装器让 perforce 使用它类似于 git(很可能不可能)?
谢谢,拉斯
git - p4passwd 在 git-p4 python 中无效或未设置
所以我设置了我的 perforce 和 git。我可以使用命令行中的“p4 info”等简单命令轻松访问、修改 perforce。我有一个 perforce 工作区,并在它旁边为 git 创建了一个新目录。每当我尝试“git p4 clone //perforce/(path)”时,它都会给我错误“Perforce 密码 (P4PASSWD) 无效或未设置”。
现在我尝试了几种不同的方法。我尝试使用 1)
2)在 perforce 工作区和 git 目录中创建了一个 .perforce 文件,其中包含“
3)在 git 目录中使用类似的变量制作了一个 .gitconfig 文件。
我不确定我做错了什么,但无论我做什么,由于这个 P4PASSWD 问题,git p4 总是失败。
任何帮助将不胜感激。谢谢
git - git-p4:将 p4 更改同步到 git repo
我正在将我们的项目从 perforce 转移到 git。经过一些设置并按照指南,我成功地创建了我的 git repo 并从 perforce 导入了源代码。然后我遇到了不能简单地将后续 p4 更改导入 git repo 的问题。(我们大多数人仍在研究 perforce)。
- git-p4 同步
- git push 起源大师
出现以下错误
[rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@github.com:xxx/yyyyy.git' 提示:更新被拒绝,因为你当前分支的提示落后于提示: 它的远程对应物。合并远程更改(例如“git pull”)提示:在再次推送之前。提示:有关详细信息,请参阅“git push --help”中的“关于快进的说明”。
我也试过
- git-p4 同步
- git-p4 变基
- git 拉
- git 推送
终于奏效了。但我不知道为什么。
git-p4 同步手册说
初始导入后,您只需在 git 存储库中调用 git-p4 sync 即可轻松地将您的 git 存储库与 Perforce 库中的更新更改同步。默认情况下,“remotes/p4/master”分支已更新。
所以我猜这就是为什么后续的“git push”不起作用的原因。我每次都必须重新设置/拉/推吗?我错过了什么吗?我是git新手,请帮忙。
macos - git p4 submit - '无法确定文件类型'失败?
定期,当我在做的时候git p4 submit
,我得到一个讨厌的错误:
在每种情况下,都是一些奇怪的二进制类型文件(如上面的 favicon.ico)或(最常见的)图形,如 PNG。这会终止提交,并使之前打开的所有文件处于打开状态,但尚未提交......
解决这个问题最终会让人头疼,我最终不得不使用 p4v 进入并通过新的更改列表手动提交我试图提交的一半,然后完成我的提交(交叉手指我没有不要碰到另一个奇怪的文件并再次卡住)。
(这是在带有 OS X Mountain Lion 的 Mac 上的 git 版本 1.8.3.2 上)
有没有人想出一种让git p4
行为正常的方法?有任何想法吗?
git - git-p4 和分离的分支
所以,我做一个
当一切都说完了,我希望 foo/bar (主分支)和 baz/garply (主分支的分支)之间存在关系。没有。
我能够git checkout master
并且正确地登陆主分支。但是,当我尝试切换到 "baz/garply"git checkout p4/baz/garply
时,我进入了一个分离的 HEAD。(git diff master
从这个分离的 HEAD 似乎也导致了非常不正确的结果。)
我假设git-p4
不维持关系主要是通过branchList
机制?有没有办法在分支之间建立这种关系?
(请注意,我这样做git sync
并不是git clone
因为存储库很大,我宁愿不再检查它们。此外,由于存储库太大,检测分支机制将不起作用。)
git-p4 - 如何让 `git-p4 sync` 工作?
我已经成功创建了一个名为“脚手架”的 git 分支git-p4.py clone
。
我现在想将最新的 Perforce 更改同步到 git 分支中,所以我正在尝试git-p4.py sync --branch=scaffold
,但所发生的只是以下输出:
之后,git status
说nothing to commit (working directory clean)
。
我怎样才能让它工作?
git - git-p4 rebase 遇到冲突
我正在尝试从 Perforce 转换为 git,并使用 and 复制了 Perforce 存储git p4 clone //depot/path/to/project/...@all project
库git push ssh://git@example.com:7999/project.git master
。
现在我想让 git 存储库与 Perforce 存储库保持同步。工程师只提交到 Perforce 存储库。当我:
它抱怨合并冲突。我不明白为什么应该存在合并冲突,因为 git 存储库本身不应该发生任何更改。需要做什么来解决这个问题?