如何在第一次提交之前显示分支与同一分支中最后一次提交的版本之间的区别?

时间:2016-11-10 15:02:32

标签: git

我有一个名为ticket20的分支,我做了10次提交,我想做一个补丁,显示我第一次创建它(0提交)和现在(第10次提交)时ticket20之间的差异。我知道你可以使用git diff制作补丁,但我不知道如何定位第0次提交和第10次提交。

3 个答案:

答案 0 :(得分:1)

您应该找出您的分支与哪些提交不同(masterticket20的共同提交)。 如果您使用的是Linux,则可以使用gitk作为图形工具,或使用git log --pretty=oneline --all --graph作为CLI方法。

找到提交后,您可以通过此提交为当前HEAD创建差异:

git diff [yourhash] HEAD

或者,如果您只想获得最新10次提交的差异:

git diff HEAD~10

答案 1 :(得分:1)

如果您分支private void Form2_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Pen myPen = new Pen(Brushes.Red, 7); Pen myPen2 = new Pen(Brushes.Green, 7); int endX = this.ClientRectangle.Width; int endY = this.ClientRectangle.Height; int xCenter = this.ClientRectangle.Left + (this.ClientRectangle.Width / 2); int yCenter = this.ClientRectangle.Top + (this.ClientRectangle.Height / 2); Pen circlePen = new Pen(Brushes.Black, 9); Font myFont = new Font("Monotype Corsiva", 43, FontStyle.Bold); g.DrawString("Happy Face", myFont, Brushes.Aqua, 300, 25); g.DrawEllipse(circlePen, xpos, ypos, 250, 250); g.FillEllipse(Brushes.PeachPuff, xpos, ypos, 250, 250); g.DrawEllipse(circlePen, xpos + 65, ypos -130 + 200, 20, 35); g.FillEllipse(Brushes.Black, xpos + 65, ypos-130 + 200, 20, 35); g.DrawEllipse(circlePen, xpos + 160, ypos-130 + 200, 20, 35); g.FillEllipse(Brushes.Black, xpos + 160, ypos-130 + 200, 20, 35); g.DrawArc(circlePen, xpos + 60, ypos-130 + 215, 130, 120, 35, 115); }

master

如果您使用git diff master...ticket20 git branch -t分支远程或以其他方式跟踪您的分支点,

git config branch.autosetupmerge true

如果您已将其签出,

git diff ticket20@{u}...ticket20

三点语法特定于diff,它表示“自合并基础”。

答案 2 :(得分:0)

您需要使用~符号来使用最近10次提交 这个标志

使用git diff命令:

git diff HEAD~10...HEAD

使用日志命令

git log HEAD...HEAD~10

..的目的是标记一系列提交。