Perforce p4交换相当于git

时间:2016-01-28 01:40:30

标签: git perforce

我在git中寻找等价的p4 interchanges。是否有任何选项/标志用于查找一个分支中尚未集成/合并到另一个分支的更改。

我正在寻找此选项来跟踪我的功能分支中所做的更改是否尚未合并到主分支中,然后才能删除发布分支。

1 个答案:

答案 0 :(得分:2)

如何使用 git cherry

  

git cherry [-v] [<upstream> [<head> [<limit>]]]

     
      
  • 输出<limit><head>之间每次提交的SHA1,
  •   
  • 并为 - 添加前缀,以便在列表中提交具有<upstream>
  • 中的等效内容的提交   
  • 并在 + 前面加上列表中提交的<upstream>
  • 中没有等效内容的提交   

其中<upstream><head>是指git branches
<limit>是指git存储库历史记录中的提交。

topic分支由三个提交组成的情况下,
维护者将其中两个应用于origin/master,情况可能如下:

$ git log --graph --oneline --decorate --boundary origin/master...topic
* 7654321 (origin/master) upstream tip commit
|
* cccc111 cherry-pick of C
* aaaa111 cherry-pick of A
|
| * cccc000 (topic) commit C
| * bbbb000 commit B
| * aaaa000 commit A
|/
o 1234567 branch point

现在git-cherry将显示尚未应用于origin/master的内容的简明摘要:

$ git cherry origin/master topic
- cccc000... commit C
+ bbbb000... commit B
- aaaa000... commit A

在这里,我们发现提交AC(标有 - )已被挑选到origin/master,提交B(标有 + )尚未合并到origin/master

  

当我们有2个本地分支X和Y进行比较时;

     

提出问题:
  分支X中是否有任何尚未在分支Y中的提交?

     

我们会说git cherry branchY branchX   并查找列在其前面的 + 的任何提交。

参考:man page of git cherry