Skip to main content

This version of GitHub Enterprise was discontinued on 2022-06-03. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Understanding the search syntax

When searching GitHub Enterprise Server, you can construct queries that match specific numbers and words.

Query for values greater or less than another value

You can use >, >=, <, and <= to search for values that are greater than, greater than or equal to, less than, and less than or equal to another value.

QueryExample
>ncats stars:>1000 matches repositories with the word "cats" that have more than 1000 stars.
>=ncats topics:>=5 matches repositories with the word "cats" that have 5 or more topics.
<ncats size:<10000 matches code with the word "cats" in files that are smaller than 10 KB.
<=ncats stars:<=50 matches repositories with the word "cats" that have 50 or fewer stars.

You can also use range queries to search for values that are greater than or equal to, or less than or equal to, another value.

QueryExample
n..*cats stars:10..* is equivalent to stars:>=10 and matches repositories with the word "cats" that have 10 or more stars.
*..ncats stars:*..10 is equivalent to stars:<=10 and matches repositories with the word "cats" that have 10 or fewer stars.

Query for values between a range

You can use the range syntax n..n to search for values within a range, where the first number n is the lowest value and the second is the highest value.

QueryExample
n..ncats stars:10..50 matches repositories with the word "cats" that have between 10 and 50 stars.

Query for dates

You can search for dates that are earlier or later than another date, or that fall within a range of dates, by using >, >=, <, <=, and range queries. Date formatting must follow the ISO8601 standard, which is YYYY-MM-DD (year-month-day).

QueryExample
>YYYY-MM-DDcats created:>2016-04-29 matches issues with the word "cats" that were created after April 29, 2016.
>=YYYY-MM-DDcats created:>=2017-04-01 matches issues with the word "cats" that were created on or after April 1, 2017.
<YYYY-MM-DDcats pushed:<2012-07-05 matches code with the word "cats" in repositories that were pushed to before July 5, 2012.
<=YYYY-MM-DDcats created:<=2012-07-04 matches issues with the word "cats" that were created on or before July 4, 2012.
YYYY-MM-DD..YYYY-MM-DDcats pushed:2016-04-30..2016-07-04 matches repositories with the word "cats" that were pushed to between the end of April and July of 2016.
YYYY-MM-DD..*cats created:2012-04-30..* matches issues created after April 30th, 2012 containing the word "cats."
*..YYYY-MM-DDcats created:*..2012-07-04 matches issues created before July 4th, 2012 containing the word "cats."

You can also add optional time information THH:MM:SS+00:00 after the date, to search by the hour, minute, and second. That's T, followed by HH:MM:SS (hour-minutes-seconds), and a UTC offset (+00:00).

QueryExample
YYYY-MM-DDTHH:MM:SS+00:00cats created:2017-01-01T01:00:00+07:00..2017-03-01T15:30:15+07:00 matches issues created between January 1, 2017 at 1 a.m. with a UTC offset of 07:00 and March 1, 2017 at 3 p.m. with a UTC offset of 07:00.
YYYY-MM-DDTHH:MM:SSZcats created:2016-03-21T14:11:00Z..2016-04-07T20:45:00Z matches issues created between March 21, 2016 at 2:11pm and April 7, 2016 at 8:45pm.

Exclude certain results

You can exclude results containing a certain word, using the NOT syntax. The NOT operator can only be used for string keywords. It does not work for numerals or dates.

QueryExample
NOThello NOT world matches repositories that have the word "hello" but not the word "world."

Another way you can narrow down search results is to exclude certain subsets. You can prefix any search qualifier with a - to exclude all results that are matched by that qualifier.

QueryExample
-QUALIFIERcats stars:>10 -language:javascript matches repositories with the word "cats" that have more than 10 stars but are not written in JavaScript.
mentions:defunkt -org:github matches issues mentioning @defunkt that are not in repositories in the GitHub organization

Use quotation marks for queries with whitespace

If your search query contains whitespace, you will need to surround it with quotation marks. For example:

Some non-alphanumeric symbols, such as spaces, are dropped from code search queries within quotation marks, so results can be unexpected.

Queries with usernames

If your search query contains a qualifier that requires a username, such as user, actor, or assignee, you can use any GitHub Enterprise Server username, to specify a specific person, or @me, to specify the current user.

QueryExample
QUALIFIER:USERNAMEauthor:nat matches commits authored by @nat
QUALIFIER:@meis:issue assignee:@me matches issues assigned to the person viewing the results

You can only use @me with a qualifier and not as search term, such as @me main.workflow.