Skip to main content

Asking GitHub Copilot questions in GitHub.com

You can use GitHub Copilot Chat in GitHub.com to answer general questions about software development, or specific questions about the issues or code in a repository.

Overview

GitHub Copilot Chat in GitHub.com is a chat interface that lets you ask and receive answers to coding-related questions on GitHub.com.

Note: Copilot Chat is also available in selected IDEs. For information on using GitHub Copilot Chat in an IDE, see "Asking GitHub Copilot questions in your IDE."

Copilot Chat can help you with a variety of coding-related tasks, like offering you code suggestions, providing natural language descriptions of a piece of code's functionality and purpose, generating unit tests for your code, and proposing fixes for bugs in your code. For more information, see "Responsible use of GitHub Copilot Chat in GitHub.com."

On GitHub.com, you can use Copilot Chat to ask:

Limitations

  • Chat responses may be suboptimal if you ask questions about a specific repository that you've selected as a context, and the repository has not been indexed for semantic code search. Anyone who gets access to Copilot from the organization that owns a repository can index that repository. For more information, see "Asking exploratory questions about a repository."
  • The quality of the results from Copilot Chat may, in some situations, be degraded if very large files, or a large number of files, are used as a context for a question.

Prerequisites

GitHub Copilot Chat in GitHub.com을(를) 사용하려면 GitHub Copilot Enterprise 구독의 일부로 사용자를 할당받아야 합니다. 자세한 내용은 "Enabling GitHub Copilot Enterprise features"을(를) 참조하세요.

Powered by skills

Copilot is powered by a collection of skills that are dynamically selected based on the question you ask. You can tell which skill Copilot used by clicking to expand the status information in the chat window.

Screenshot of the Copilot chat panel with the status information expanded and the skill that was used highlighted with an orange outline.

You can explicitly ask GitHub Copilot Chat in GitHub.com to use a particular skill - for example, Use the Bing skill to find the latest GPT4 model from OpenAI.

Currently available skills

You can generate a list of currently available skills by asking Copilot: What skills are available?

The skills you can use in Copilot Chat in GitHub.com include those shown in the table below.

SkillDescriptionEnabled by default?Example question
Bing web search (in beta and subject to change)Searches the web using the Bing search engine. This skill is useful for teaching Copilot about recent events, new developments, trends, technologies, or extremely specific, detailed, or niche subjects.No (requires admin approval - see "Enabling GitHub Copilot Enterprise features")What are some recent articles about SAT tokens securing against vulnerabilities in Node?
Code searchNatural language code search in the default branch of the Git repository. This skill is useful when you want to know where or how certain functionality has been implemented in the code. Note: this requires indexing to be enabled for the repository (see the note about indexing below).YesWhere is the logic that controls the user session management, and how does it work?
Commit detailsRetrieves a list of commits, or the contents of a specific commit, to provide answers to commit-related questions.YesExplain the changes in the code of this commit
Discussion detailsRetrieves a specific GitHub discussion. This is useful for quickly getting the gist of the conversation in a discussion.YesSummarize this discussion
Issue detailsRetrieves a specific GitHub issue, including the issue's title, number, author, status, body, linked pull requests, comments, and timestamps.YesSummarize the conversation on this issue and suggest next steps
File detailsRetrieves a specific file in the default branch of the Git repository, allowing you to ask questions about the file and the recent changes made to it. This skill is useful when you provide the exact path of a file in the repository.YesWhat logic does user_auth.js encapsulate?

What is the file history of user_auth.js?
Pull request detailsRetrieves a specific pull request. This allows you to ask questions about the pull request, including getting a summary of the pull request, its comments, or the code it changes.YesSummarize this PR for me

Summarize the changes in this PR
Release detailsRetrieves the latest, or specified, release. This allows you to find out who created a release, when it happened, and information included in the release notes.YesWhen was the latest release?
Repository detailsRetrieves a specific GitHub repository. This is useful for finding out details such as the repository owner and the main language used.YesTell me about this repo
Symbol definitionRetrieves the lines of code that define a specific code symbol (function, class, or struct) in the default branch of the Git repository. This skill is useful when you have the exact name of a symbol, and want to understand it.YesWrite unit tests for the AuthUser method

Asking a general question about software development

You can ask a general question about software development that is not focused on a particular context, such as a repository or a knowledge base.

Depending on the question you ask, and your enterprise and organization settings, Copilot may respond using information based on the results of a Bing search. By using Bing search, Copilot can answer a broad range of tech-related questions with up-to-date details based on information currently available on the internet. For information on how to enable or disable Bing search integration, see "엔터프라이즈에서 Copilot Business에 대한 정책과 기능 관리하기."

Note: Bing search integration into Copilot Chat in GitHub.com is currently in beta and is subject to change.

  1. GitHub.com의 페이지에서 페이지 오른쪽 위에 있는 GitHub Copilot 아이콘을 클릭합니다.

    GitHub Copilot Chat 패널이 표시됩니다. 패널 크기를 조정하려면 위쪽 또는 왼쪽 가장자리를 클릭하고 끕니다.

  2. 패널에 Copilot과 이전 나눈 대화가 포함된 경우 패널의 오른쪽 위에 있는 "새 대화" 아이콘(더하기 기호)을 클릭합니다.

    진한 주황색 윤곽선으로 강조 표시된 새 대화 버튼의 스크린샷.

  3. If the panel is headed "Chatting about OWNER/REPOSITORY," click All repositories.

    Screenshot of the Copilot chat panel page with "All repositories" highlighted with a dark orange outline.

  4. If the "Ask Copilot" page is displayed in the panel, click General purpose chat.

    Screenshot of the Copilot chat panel with "General purpose chat" highlighted with a dark orange outline.

  5. At the bottom of the panel, in the "Ask Copilot" box, type a question and press Enter.

    Some examples of general questions you could ask are:

    • What are the advantages of the Go programming language?
    • What is Agile software development?
    • What is the most popular JavaScript framework?
    • Give me some examples of regular expressions.
    • Write a bash script to output today's date.
  6. 필요에 따라 텍스트 상자에서 을(를) 클릭하여 Copilot이(가) 응답을 계속하지 못하도록 합니다.

  7. If Copilot uses a Bing search to answer your question, "Results from Bing" is displayed above the response. Click this to see the search results that Copilot used to answer your question.

  8. Within a conversation thread, you can ask follow-up questions. Copilot will answer within the context of the conversation. For example, you could type "tell me more" to get Copilot to expand on its last comment.

    You can use your initial question as a foundation for follow-up questions. A detailed foundational prompt can help Copilot provide more relevant answers to your follow-up questions. For more information, see "Prompting GitHub Copilot Chat to become your personal AI assistant for accessibility" on the GitHub Blog.

  9. Copilot을(를) 사용하여 이전 대화로 돌아가려면 패널 오른쪽 위에 있는 "대화 보기" 아이콘(원형 화살표로 둘러싸인 시계판)을 클릭합니다.

    진한 주황색 윤곽선으로 강조 표시된 "대화 내용" 아이콘 스크린샷

Asking exploratory questions about a repository

Copilot allows you to use natural language questions to explore repositories on GitHub. This can help you get a better understanding of where specific aspects of a codebase are implemented.

  1. GitHub.com의 페이지에서 페이지 오른쪽 위에 있는 GitHub Copilot 아이콘을 클릭합니다.

    GitHub Copilot Chat 패널이 표시됩니다. 패널 크기를 조정하려면 위쪽 또는 왼쪽 가장자리를 클릭하고 끕니다.

  2. 패널에 Copilot과 이전 나눈 대화가 포함된 경우 패널의 오른쪽 위에 있는 "새 대화" 아이콘(더하기 기호)을 클릭합니다.

    진한 주황색 윤곽선으로 강조 표시된 새 대화 버튼의 스크린샷.

  3. 패널에 "Copilot" 페이지가 표시되지 않으면 모든 리포지토리를 클릭하세요.

    "모든 리포지토리"가 진한 주황색 윤곽선으로 강조 표시된 "Copilot" 채팅 패널 페이지의 스크린샷.

  4. "Copilot" 페이지에서 리포지토리를 선택하여 질문에 대한 컨텍스트를 제공하세요.

    예를 들어 코드를 더 잘 이해하려는 리포지토리를 선택할 수 있습니다.

    사용할 리포지토리가 표시되지 않으면 검색할 수 있습니다.

    Note:

    Copilot's ability to answer natural language questions like these in a repository context is improved when the repository has been indexed for semantic code search. The indexing status of the repository is displayed when you start a conversation that has a repository context.

    If you get access to Copilot from the organization that owns the repository, and the repository has not been indexed, an Index REPOSITORY NAME button is displayed. Click this button to start the indexing process.

    Screenshot showing the 'Index REPOSITORY NAME' button highlighted with a dark orange outline.

  5. In the "Ask Copilot" box, type a question and press Enter.

    For example, you could ask:

    • When was the most recent release?
    • Where is rate limiting implemented in our API?
    • How does the WidgetFactory class work?
    • Where is the code for converting an organization member to be an outside collaborator?
    • Where are SAT tokens generated?

    Copilot replies in the chat panel.

  6. 필요에 따라 텍스트 상자에서 을(를) 클릭하여 Copilot이(가) 응답을 계속하지 못하도록 합니다.

  7. Copilot을(를) 사용하여 이전 대화로 돌아가려면 패널 오른쪽 위에 있는 "대화 보기" 아이콘(원형 화살표로 둘러싸인 시계판)을 클릭합니다.

    진한 주황색 윤곽선으로 강조 표시된 "대화 내용" 아이콘 스크린샷

Asking a question about a specific file or symbol

You can ask Copilot about a specific file or symbol within a repository.

Note: A "symbol" is a named entity in code. This could be a variable, function, class, module, or any other identifier that's part of a codebase.

  1. GitHub.com의 페이지에서 페이지 오른쪽 위에 있는 GitHub Copilot 아이콘을 클릭합니다.

    GitHub Copilot Chat 패널이 표시됩니다. 패널 크기를 조정하려면 위쪽 또는 왼쪽 가장자리를 클릭하고 끕니다.

  2. 패널에 Copilot과 이전 나눈 대화가 포함된 경우 패널의 오른쪽 위에 있는 "새 대화" 아이콘(더하기 기호)을 클릭합니다.

    진한 주황색 윤곽선으로 강조 표시된 새 대화 버튼의 스크린샷.

  3. 패널에 "Copilot" 페이지가 표시되지 않으면 모든 리포지토리를 클릭하세요.

    "모든 리포지토리"가 진한 주황색 윤곽선으로 강조 표시된 "Copilot" 채팅 패널 페이지의 스크린샷.

  4. "Copilot" 페이지에서 리포지토리를 선택하여 질문에 대한 컨텍스트를 제공하세요.

    예를 들어 코드를 더 잘 이해하려는 리포지토리를 선택할 수 있습니다.

    사용할 리포지토리가 표시되지 않으면 검색할 수 있습니다.

  5. Click the "Attach files or symbols" button (a paperclip icon) at the bottom of the chat panel, then search for and select one or more files and symbols.

    Screenshot of the "Attach files or symbols" button, highlighted with a dark orange outline.

  6. In the "Ask Copilot" box, type a question and press Enter.

    Copilot replies in the chat panel.

  7. 필요에 따라 텍스트 상자에서 을(를) 클릭하여 Copilot이(가) 응답을 계속하지 못하도록 합니다.

  8. Copilot을(를) 사용하여 이전 대화로 돌아가려면 패널 오른쪽 위에 있는 "대화 보기" 아이콘(원형 화살표로 둘러싸인 시계판)을 클릭합니다.

    진한 주황색 윤곽선으로 강조 표시된 "대화 내용" 아이콘 스크린샷

Asking a question about a knowledge base

Organization owners can create knowledge bases, grouping together Markdown documentation across one or more repositories. You can use a knowledge base to ask questions with that context in mind.

When you enter a query, Copilot searches for relevant documentation snippets, synthesizes a summary of the relevant snippets to answer your question, and provides links to the source documentation for additional context.

  1. GitHub.com의 페이지에서 페이지 오른쪽 위에 있는 GitHub Copilot 아이콘을 클릭합니다.

    GitHub Copilot Chat 패널이 표시됩니다. 패널 크기를 조정하려면 위쪽 또는 왼쪽 가장자리를 클릭하고 끕니다.

  2. 패널에 Copilot과 이전 나눈 대화가 포함된 경우 패널의 오른쪽 위에 있는 "새 대화" 아이콘(더하기 기호)을 클릭합니다.

    진한 주황색 윤곽선으로 강조 표시된 새 대화 버튼의 스크린샷.

  3. If the "Ask Copilot" page is not displayed in the panel, click All repositories.

    Screenshot of the Copilot chat panel page with "All repositories" highlighted with a dark orange outline.

  4. Start a conversation with Copilot by either selecting a repository or clicking General purpose chat.

  5. Click the "Attach knowledge" button (a book icon) at the bottom of the chat panel, to view a list of the knowledge bases that you have access to.

    Screenshot of the "Attach knowledge" icon, highlighted with a dark orange outline.

  6. Click the knowledge base that you want to use as context.

    For example, you could choose a knowledge base containing your organization's internal developer documentation.

    You can search for a knowledge base if you don't see one you want to use.

    Screenshot showing the "Attach knowledge" popover with a list of knowledge bases.

  7. At the bottom of the page, in the "Ask Copilot" box, type a question and press Enter.

    For example, if you chose a knowledge base with your organization's internal developer documentation, you could ask:

    • How do I deploy a new application?
    • What's the process for creating a new REST API?
    • What are our best practices for logging?
  8. 필요에 따라 텍스트 상자에서 을(를) 클릭하여 Copilot이(가) 응답을 계속하지 못하도록 합니다.

  9. The response will typically contain numbered references to files that Copilot uses to generate the answer, from the knowledge base you selected. To list the sources that were used, click NUMBER references.

    Screenshot showing an expanded list of source references.

  10. To display information about a source reference, click its entry in the list.

    Alternatively, to open the complete file, click the ellipsis (...), then select Open.

  11. Within a conversation thread, you can ask follow-up questions. Follow-up questions will continue to use the selected knowledge base as context until you explicitly detach the knowledge base or select a different one.

  12. Copilot을(를) 사용하여 이전 대화로 돌아가려면 패널 오른쪽 위에 있는 "대화 보기" 아이콘(원형 화살표로 둘러싸인 시계판)을 클릭합니다.

    진한 주황색 윤곽선으로 강조 표시된 "대화 내용" 아이콘 스크린샷

Asking questions about specific pieces of code

You can chat with Copilot about a file in your repository, or about specific lines of code within a file.

  1. On GitHub.com, navigate to a repository and open a file.

  2. Do one of the following:

    • To ask a question about the entire file, click the Copilot icon () at the top right of the file view.

      Screenshot of the Copilot button, highlighted with a dark orange outline, at the top of the file view.

    • To ask a question about specific lines within the file:

      1. Select the lines by clicking the line number for the first line you want to select, holding down Shift and clicking the line number for the last line you want to select.
      2. To ask your own question about the selected lines, click the Copilot icon () to the right of your selection. This displays the GitHub Copilot Chat panel with the selected lines indicated as the context of your question.
      3. To ask a predefined question, click the downward-pointing button beside the Copilot icon, then choose one of the options.

      Screenshot of the Copilot buttons, highlighted with a dark orange outline, to the right of some selected code.

  3. If you clicked the Copilot icon, type a question in the "Ask Copilot" box at the bottom of the chat panel and press Enter.

    For example, if you are asking about the entire file, you could enter:

    • Explain this file.
    • How could I improve this code?
    • How can I test this script?

    If you are asking about specific lines, you could enter:

    • Explain the function at the selected lines.
    • How could I improve this class?
    • Add error handling to this code.
    • Write a unit test for this method.

    Copilot responds to your request in the panel.

    Screenshot of a response to the question "What does the function at the selected lines do?"

  4. 필요에 따라 텍스트 상자에서 을(를) 클릭하여 Copilot이(가) 응답을 계속하지 못하도록 합니다.

  5. You can continue the conversation by asking a follow-up question. For example, you could type "tell me more" to get Copilot to expand on its last comment.

  6. To clear, delete, or rename the current conversation thread, or to start a new thread, type / in the "Ask Copilot" box, select from the options that are displayed, then press Enter.

  7. To view a conversation in immersive mode, displaying just the conversation thread, click the dashed box icon at the top right of the conversation thread.

    Screenshot of the immersive mode button at the top right of the Copilot panel. The button is highlighted with a dark orange outline.

Asking questions about a specific pull request

You can ask Copilot to summarize a pull request, or explain what has changed within specific files or lines of code in a pull request.

Get a summary of a pull request

  1. On GitHub.com, navigate to a pull request in a repository.

  2. 페이지 오른쪽 위에 있는 GitHub Copilot 아이콘을 클릭합니다.

    GitHub Copilot Chat 패널이 표시됩니다. 패널 크기를 조정하려면 위쪽 또는 왼쪽 가장자리를 클릭하고 끕니다.

  3. 패널에 Copilot과(와)의 이전 대화가 포함된 경우 Copilot 패널의 오른쪽 위에 있는 더하기 기호 아이콘을 클릭하여 새 대화를 시작합니다.

    진한 주황색 윤곽선으로 강조 표시된 새 대화 버튼의 스크린샷.

  4. At the bottom of the Copilot Chat panel, in the "Ask Copilot" box, type a question and press Enter.

    For example, you could ask:

    • Summarize this PR for me.
    • Summarize the comments in this PR.
    • Summarize the changes in this PR.
  5. 필요에 따라 텍스트 상자에서 을(를) 클릭하여 Copilot이(가) 응답을 계속하지 못하도록 합니다.

Ask about changes to a specific file in a pull request

  1. On GitHub.com, navigate to a pull request in a repository.

  2. Click the Files changed tab.

  3. Click at the top right of the file, then click Ask Copilot about this diff.

  4. Type a question in the "Ask Copilot" box at the bottom of the chat panel and press Enter.

    For example, you could ask:

    • What's the purpose of this file?
    • Why has this module been included?
  5. 필요에 따라 텍스트 상자에서 을(를) 클릭하여 Copilot이(가) 응답을 계속하지 못하도록 합니다.

Ask about specific lines within a file in a pull request

  1. On GitHub.com, navigate to a pull request in a repository.

  2. Click the Files changed tab.

  3. Click the line number for the first line you want to select, then hold down Shift and click the line number for the last line you want to select.

  4. Ask Copilot a question, or choose from a list of predefined questions.

    • To ask your own question about the selected lines, to the right of your selection, click the Copilot icon. This displays the GitHub Copilot Chat panel with the selected lines indicated as the context of your question.

      For example, you could ask:

      • What is `actorData` in this line?
      • Explain this `do..end` block.
    • To ask a predefined question, to the right of your selection, beside the Copilot icon, click , then click Explain.

  5. 필요에 따라 텍스트 상자에서 을(를) 클릭하여 Copilot이(가) 응답을 계속하지 못하도록 합니다.

Asking a question about a specific issue or discussion

You can ask Copilot to summarize or answer questions about a specific issue or discussion.

Note: The quality of Copilot Chat's responses may be degraded when working with issues or discussions that have very long bodies or a large number of comments. For example, this may occur if you ask Copilot to summarize a long-running discussion. Where this happens, Copilot will warn you so you can double check its output.

  1. Navigate to an issue or discussion on GitHub.com.

  2. 페이지 오른쪽 위에 있는 GitHub Copilot 아이콘을 클릭합니다.

    GitHub Copilot Chat 패널이 표시됩니다. 패널 크기를 조정하려면 위쪽 또는 왼쪽 가장자리를 클릭하고 끕니다.

  3. 패널에 Copilot과(와)의 이전 대화가 포함된 경우 Copilot 패널의 오른쪽 위에 있는 더하기 기호 아이콘을 클릭하여 새 대화를 시작합니다.

    진한 주황색 윤곽선으로 강조 표시된 새 대화 버튼의 스크린샷.

  4. At the bottom of the Copilot chat panel, in the "Ask Copilot" box, type a question and press Enter. For example, you could enter:

    • Explain this issue
    • Summarize this discussion
    • Recommend next steps for this issue
    • What are the acceptance criteria for this issue?
    • What are the main points made by PERSON in this discussion?

    Tip: Instead of navigating to an issue or discussion in your browser to ask a question, you can include the relevant URL in your message. For example, Summarize https://github.com/monalisa/octokit/issues/1.

    Copilot responds to your request in the panel.

  5. 필요에 따라 텍스트 상자에서 을(를) 클릭하여 Copilot이(가) 응답을 계속하지 못하도록 합니다.

Asking a question about a specific commit

You can ask Copilot to explain the changes in a commit.

  1. Navigate to a commit on GitHub.com.

  2. 페이지 오른쪽 위에 있는 GitHub Copilot 아이콘을 클릭합니다.

    GitHub Copilot Chat 패널이 표시됩니다. 패널 크기를 조정하려면 위쪽 또는 왼쪽 가장자리를 클릭하고 끕니다.

  3. 패널에 Copilot과(와)의 이전 대화가 포함된 경우 Copilot 패널의 오른쪽 위에 있는 더하기 기호 아이콘을 클릭하여 새 대화를 시작합니다.

    진한 주황색 윤곽선으로 강조 표시된 새 대화 버튼의 스크린샷.

  4. At the bottom of the Copilot chat panel, in the "Ask Copilot" box, type a question and press Enter. For example, you could enter:

    • Summarize the changes in this commit

    • Who committed these changes?

    • When was this commit made?

    Tip

    If you know the SHA for a commit, instead of navigating to the commit, you can ask Copilot about the commit from any page in the repository on GitHub.com by including the SHA in your message. For example, What changed in commit a778e0eab?

  5. 필요에 따라 텍스트 상자에서 을(를) 클릭하여 Copilot이(가) 응답을 계속하지 못하도록 합니다.

You can ask Copilot a question about an entire repository by typing your question in the main search box of the repository.

  1. Navigate to a repository on GitHub.com.

  2. Press /, or click in the main search box at the top of the page.

  3. In the search box, after repo:OWNER/REPO, type the question you want to ask Copilot.

    For example, you could enter:

    • What does this repo do?
    • Where is authentication implemented in this codebase?
    • How does license file detection work in this repo?
  4. Click Ask Copilot.

    Screenshot of the main search box on GitHub. The drop-down option "Ask Copilot" is highlighted with an orange outline.

    The GitHub Copilot Chat panel is displayed and Copilot responds to your request.

  5. 필요에 따라 텍스트 상자에서 을(를) 클릭하여 Copilot이(가) 응답을 계속하지 못하도록 합니다.

Sharing feedback about GitHub Copilot Chat in GitHub.com

참고: Copilot pull request summaries에 대한 피드백을 GitHub에 제공하는 기능은 엔터프라이즈 설정에 따라 달라집니다. 자세한 내용은 "Enabling GitHub Copilot Enterprise features"을(를) 참조하세요.

To give feedback about a particular Copilot Chat response, click either the thumbs up or thumbs down icon at the bottom of each chat response.

To give feedback about Copilot Chat in general, click the ellipsis (...) at the top right of the chat panel, then click Give feedback.