簡體   English   中英

git-p4如何獲取更改列表

[英]git-p4 How to fetch a changelist

git p4 submit --shelve在本地git repo中獲取您提交的更改,並將它們放入更改列表X並放置它們。

假設我對擱置的更改進行了一些代碼審查,因此我本地git repo中的文件與更改列表X中的文件不同。如何將changelist X中的更新導入我的本地git repo?

我做了一個修改版的git-p4.py來支持這個。 您創建的文件具有每個擱置的更改列表的更改編號。 然后你只需運行git p4 sync --changesfile <filename>

唯一的問題是,這會將更改導入到您的p4/master分支中,因此git-p4會認為這些更改已經提交。 如果你使用它,你必須將一些本地git分支硬重置為新導入的提交,然后將p4/master ref硬重置回導入之前的狀態。 它還將[git-p4: depot-paths = ...]信息添加到提交消息的底部,因此它不適合直接運行git p4 submit 您可以編寫某種git commit過濾器來批量刪除它們。

盡管如此,我認為這比手動處理p4 unshelvep4 diff -dau > foo.patchpatch -Npx -i

你可以生成一個diff然后將它應用到你的git樹。 (生成差異的最簡單,最可靠的方法可能是將變更集取消擱置到干凈的Perforce客戶端,然后執行p4 diff -du ... ,請注意,這對添加或刪除的文件不起作用。 )

將來,您應該避免這樣做。 首先使用git-p4的關鍵是主要使用git,但要同步Perforce的更改。 因此,您的git環境應該是您的“主”環境,並且您的Perforce客戶端應該僅用作Perforce服務器的臨時區域。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM