Perforce p4 交换等效于 git 中



我正在寻找 git 中等效的 p4 交换。是否有任何选项/标志可以查找一个分支中尚未集成/合并到另一个分支的更改。

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

使用git cherry怎么样?

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

  • 输出 <limit><head> 之间每个提交的 SHA1
  • 并在列表中为具有等效项的提交添加-前缀<upstream>
  • 并在列表中没有等效项的提交+ <upstream>

其中 <upstream><head> 指的是 git 分支
<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 并查找列出的任何提交,并在它们前面带有+

参考资料:git cherry手册页。

最新更新