Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 108807
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T01:58:12+00:00 2026-05-11T01:58:12+00:00

Some Git commands take commit ranges and one valid syntax is to separate two

  • 0

Some Git commands take commit ranges and one valid syntax is to separate two commit names with two dots .., and another syntax uses three dots ....

What are the differences between the two?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T01:58:13+00:00Added an answer on May 11, 2026 at 1:58 am

    It depends on whether you’re using a log command or a diff command. In the log case, it’s in the man git-rev-parse documentation:

    To exclude commits reachable from a commit, a prefix ^ notation is used. E.g. ^r1 r2 means commits reachable from r2 but exclude the ones reachable from r1.

    This set operation appears so often that there is a shorthand for it. When you have two commits r1 and r2 (named according to the syntax explained in SPECIFYING REVISIONS above), you can ask for commits that are reachable from r2 excluding those that are reachable from r1 by ‘^r1 r2’ and it can be written as ‘r1..r2’.

    A similar notation ‘r1…r2’ is called symmetric difference of r1 and r2 and is defined as ‘r1 r2 –not $(git merge-base –all r1 r2)’. It is the set of commits that are reachable from either one of r1 or r2 but not from both.

    Which basically means that you’ll get all commits that are in either of the two branches, but not in both.

    In the diff case, it’s in the man git-diff documentation:

      git diff [--options] <commit>...<commit> [--] [<path>...]        This form is to view the changes on the branch containing and up to       the second <commit>, starting at a common ancestor of both       <commit>. 'git diff A...B' is equivalent to 'git diff       $(git-merge-base A B) B'. You can omit any one of <commit>, which       has the same effect as using HEAD instead. 

    Which is a bit fuzzy. Basically it means it shows only the differences in that branch compared to another branch: it looks for the last common commit with the first committish you gave it, and then diffs the second committish to that. It’s an easy way to see what changes are made in that branch, compared to this branch, without taking notice of changes in this branch only.

    The .. is somewhat simpler: In the git-diff case, it’s the same as a git diff A B and just diffs A against B. In the log case, it shows all commits that are in B but not in A.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 78k
  • Answers 78k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer Is this what you looking for? Simple actionscript 2 class… May 11, 2026 at 3:46 pm
  • added an answer You can just leave it on 8889. Important thing is… May 11, 2026 at 3:46 pm
  • added an answer You will need to use the RowDataBound event for such… May 11, 2026 at 3:46 pm

Related Questions

I have been using git to keep two copies of my project in sync,
How often should you use git-gc? The manual page simply says: Users are encouraged
I am looking into using Git on a massive scale. I was hoping to
I've been doing all my work in Git and pushing to GitHub. I've been

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.