Skip to content

Commit 059e3bf

Browse files
CopilotCopilotvgrlCopilotdihydroJenoxide
authored
Add 6 "Builder getting started" journey articles (Workstream A, Copilot Free–compliant, fpt+ghec+ghes) (#62186)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Vanessa <vgrl@github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Jenni C <97056108+dihydroJenoxide@users.noreply.github.com> Co-authored-by: Siara <108543037+SiaraMist@users.noreply.github.com>
1 parent 129b085 commit 059e3bf

9 files changed

Lines changed: 646 additions & 11 deletions
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
title: 'Connecting to your code locally'
3+
shortTitle: 'Connect locally'
4+
intro: 'Connect {% data variables.product.prodname_desktop %} to your account and clone your repository to edit files locally.'
5+
category:
6+
- Learn to code
7+
contentType: get-started
8+
versions:
9+
fpt: '*'
10+
ghes: '*'
11+
ghec: '*'
12+
---
13+
14+
So far, you've worked in the browser. In this tutorial, you'll use {% data variables.product.prodname_desktop %} to clone your repository to your computer so you can edit files in your own code editor.
15+
16+
{% data reusables.enterprise.url-substitute-note %}
17+
18+
## Prerequisites
19+
20+
* A `stargazers-log` repository. If you haven't created it yet, see [AUTOTITLE](/get-started/start-your-journey/creating-a-repository-for-your-project-on-github).
21+
* {% data variables.product.prodname_desktop %} installed on your computer.
22+
23+
## Installing {% data variables.product.prodname_desktop %}
24+
25+
If you don't have {% data variables.product.prodname_desktop %} yet, install it before you continue. [Download {% data variables.product.prodname_desktop %}](https://desktop.github.com/?ref_product=desktop&ref_type=engagement&ref_style=button).
26+
27+
> [!TIP]
28+
> {% data variables.product.prodname_docs %} contains documentation for all of {% data variables.product.company_short %}'s plans, and where relevant, tools and operating systems. To find content that matches your setup, use the **Version** dropdown in the top left corner of an article to select your plan, and select the tool or operating system tabs below the article's introduction.
29+
30+
## Signing in to {% data variables.product.prodname_desktop %}
31+
32+
Sign in so that {% data variables.product.prodname_desktop %} can access your repositories.
33+
34+
1. Open {% data variables.product.prodname_desktop %}.
35+
1. From the welcome screen, click {% ifversion fpt or ghec %}**Sign in to {% data variables.product.prodname_dotcom_the_website %}**{% else %}**Sign in to {% data variables.product.prodname_enterprise %}**{% endif %}.
36+
1. Follow the prompts to authenticate with your {% data variables.product.github %} account and authorize the app.
37+
1. Follow the steps to configure Git with your name and email address, which will be used for commits you make in {% data variables.product.prodname_desktop %}.
38+
39+
If you don't see the welcome screen, follow the steps in [AUTOTITLE](/desktop/configuring-and-customizing-github-desktop/configuring-basic-settings-in-github-desktop) to sign in and manage your settings from the {% data variables.product.prodname_desktop %} menu.
40+
41+
## Cloning your repository
42+
43+
Cloning creates a copy of your repository on your computer that stays connected to the version on {% data variables.product.github %}.
44+
45+
1. From the "Let's get started!" screen, select **`stargazers-log`** from the list of "Your repositories".
46+
1. Directly below the repositories list, click **Clone OWNER/stargazers-log**, where OWNER is your {% data variables.product.github %} personal account.
47+
1. Accept the default repository URL and local path, and click **Clone**.
48+
49+
If you don't see the "Let's get started!" screen, follow the steps in [Cloning a repository](/desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop#cloning-a-repository) to clone your `stargazers-log` repository.
50+
51+
## Opening your code in an editor
52+
53+
With your repository cloned, open it in a code editor to start working on the files.
54+
55+
1. In {% data variables.product.prodname_desktop %}, select **Repository**, then click **Open in EDITOR**.
56+
* If you haven't set an editor yet, install one such as [{% data variables.product.prodname_vscode %}](https://code.visualstudio.com/) ({% data variables.product.prodname_vscode_shortname %}), then choose it in the **Advanced** section of {% data variables.product.prodname_desktop %} settings.
57+
58+
1. Confirm that you can see your `index.html` and `README.md` files in the editor.
59+
60+
## What you accomplished
61+
62+
| Task | Outcome |
63+
| ---- | ------- |
64+
| Signed in to {% data variables.product.prodname_desktop %} | You connected {% data variables.product.prodname_desktop %} to your account. |
65+
| Cloned your repository | You created a local copy of `stargazers-log` on your computer. |
66+
| Opened your code | You opened the website files in a code editor, ready to make changes. |
67+
68+
## Next steps
69+
70+
* Now that your code is on your computer, build the first feature for your website. Continue to [AUTOTITLE](/get-started/start-your-journey/writing-and-storing-your-code).
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
---
2+
title: 'Creating a repository for your project on GitHub'
3+
shortTitle: 'Create your repository'
4+
intro: 'Create a repository on {% data variables.product.github %} to store your code, track its history, and build a software project you can share.'
5+
allowTitleToDifferFromFilename: true
6+
category:
7+
- Learn to code
8+
contentType: get-started
9+
versions:
10+
fpt: '*'
11+
ghes: '*'
12+
ghec: '*'
13+
---
14+
15+
In this tutorial, you'll create the repository you'll use throughout this series. You'll build a small software project called `stargazers-log`. By the end of the journey, you'll plan work, write code, review changes, and deploy your code to a live website.
16+
17+
`stargazers-log` is a simple website that tracks and displays repositories you have starred. It helps you build a personal catalog of tools and code examples you care about. Starring repositories also helps you bookmark projects for later and show appreciation to maintainers.
18+
19+
{% data reusables.enterprise.url-substitute-note %}
20+
21+
## Prerequisites
22+
23+
{% ifversion fpt or ghec %}
24+
25+
* An account on {% data variables.product.github %}. To sign up, go to [https://github.com/signup](https://github.com/signup?ref_product=github&ref_type=engagement&ref_style=text).
26+
27+
{% else %}
28+
29+
* An account on your {% data variables.product.prodname_ghe_server %} instance.
30+
31+
{% endif %}
32+
33+
## What is a repository?
34+
35+
A repository is where you keep code and files for a software project on {% data variables.product.github %}. It stores your files, tracks each change as a commit, and gives collaborators a shared place to work. Most software projects—from a single web page to a large application—live in their own repository.
36+
37+
## Creating your repository
38+
39+
Follow these steps to create the repository for this series.
40+
41+
{% ifversion fpt or ghec %}
42+
43+
1. In the upper-right corner of any page on {% data variables.product.github %}, select {% octicon "plus" aria-label="Create new" %}, then click **New repository**.
44+
45+
Alternatively, go to [new repository page on {% data variables.product.prodname_dotcom_the_website %}](https://github.com/new?ref_product=github&ref_type=engagement&ref_style=text) to open the new repository form directly.
46+
47+
{% else %}
48+
49+
1. On {% data variables.location.product_location %}, in the upper-right corner of any page, select {% octicon "plus" aria-label="Create new" %}, then click **New repository**.
50+
51+
{% endif %}
52+
53+
1. Use the **Owner** dropdown menu to select your personal account to own the repository.
54+
1. In the **Repository name** field, type `stargazers-log`.
55+
1. In the **Description** field, type a short description, such as "A log of the repositories I've starred."
56+
1. Use the **Choose visibility** dropdown menu to select **Public** so you can publish your software project to a live site later in this series.
57+
1. Select **Add README**. This gives your repository a starting file and a place to describe your software project.
58+
1. You do not need to add a `.gitignore` or license file for this software project, so leave those options unchanged.
59+
1. Click **Create repository**.
60+
61+
## Adding a starter web page
62+
63+
Your software project will grow into a small web page, so add an `index.html` file to hold its content.
64+
65+
1. On the main page of your `stargazers-log` repository above the list of files, click **{% octicon "plus" aria-hidden="true" aria-label="plus" %}**, then click **{% octicon "plus" aria-hidden="true" aria-label="plus" %} Create new file**.
66+
1. In the file name field, type `index.html`.
67+
1. In the file editor, add the following starter content.
68+
69+
```html copy
70+
<!DOCTYPE html>
71+
<html lang="en">
72+
<head>
73+
<meta charset="utf-8">
74+
<title>Stargazers log</title>
75+
</head>
76+
<body>
77+
<h1>Stargazers log</h1>
78+
<p>A log of the repositories I've starred.</p>
79+
</body>
80+
</html>
81+
```
82+
83+
1. Click **Commit changes**.
84+
1. In the dialog that opens, keep the default option to commit directly to the `main` branch, then click **Commit changes**.
85+
86+
## What you accomplished
87+
88+
| Task | Outcome |
89+
| ---- | ------- |
90+
| Created a repository | You created `stargazers-log` to store your software project on {% data variables.product.github %}. |
91+
| Added a README | You gave your software project a place to describe itself. |
92+
| Added a web page | You created `index.html` as the starting point for your site. |
93+
94+
## Next steps
95+
96+
* Now that your software project has a home, plan the work you want to do. Continue to [AUTOTITLE](/get-started/start-your-journey/planning-your-work).
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
---
2+
title: 'Deploying your website automatically'
3+
shortTitle: 'Deploy automatically'
4+
intro: 'Automate your code deployment with {% data variables.product.prodname_actions %} and {% data variables.product.prodname_pages %} to publish updates to a live site with every push to the main branch.'
5+
category:
6+
- Learn to code
7+
contentType: get-started
8+
versions:
9+
fpt: '*'
10+
ghes: '*'
11+
ghec: '*'
12+
---
13+
14+
Your feature is merged, so now you can share it. In this tutorial, you'll set up automatic deployment so every push to `main` publishes your software project to a live website.
15+
16+
> [!NOTE]
17+
> The URL of your {% data variables.product.prodname_pages %} site depends on which version of {% data variables.product.github %} you use.
18+
> * On {% data variables.product.prodname_dotcom_the_website %}, your site is published at `YOUR-USERNAME.github.io/REPOSITORY`.
19+
> * If you use {% data variables.product.github %} with data residency on {% data variables.enterprise.data_residency_site %}, your site is published at `pages.SUBDOMAIN.ghe.com/YOUR-USERNAME/REPOSITORY`, where `SUBDOMAIN` is your enterprise's subdomain.
20+
> * On {% data variables.product.prodname_ghe_server %}, your site is published at `pages.HOSTNAME/YOUR-USERNAME/REPOSITORY`, where `HOSTNAME` is the hostname of your {% data variables.product.prodname_ghe_server %} instance.
21+
22+
## Prerequisites
23+
24+
* A `stargazers-log` repository with your merged feature. If you haven't merged it yet, see [AUTOTITLE](/get-started/start-your-journey/reviewing-your-proposed-changes).
25+
26+
## Enabling {% data variables.product.prodname_pages %}
27+
28+
Set up {% data variables.product.prodname_pages %} to host your site, and use {% data variables.product.prodname_actions %} to build and publish it.
29+
30+
1. On {% data variables.product.github %}, navigate to your `stargazers-log` repository.
31+
1. Under your repository name, click **Settings**.
32+
1. In the sidebar, in the "Code and automation" section, click **Pages**.
33+
1. Under "Build and deployment", from the **Source** dropdown, select **{% data variables.product.prodname_actions %}**.
34+
35+
Leave the other settings at their defaults. Next, you'll create **your own workflow** to build and deploy your site automatically.
36+
37+
## Creating a deployment workflow
38+
39+
A workflow is a set of automated steps that {% data variables.product.prodname_actions %} runs for you. Add one that builds and deploys your site whenever you push to `main`.
40+
41+
1. In your repository, create a file named `.github/workflows/deploy.yml`.
42+
1. On the main page of your `stargazers-log` repository above the list of files, click **{% octicon "plus" aria-hidden="true" aria-label="plus" %}**, then click **{% octicon "plus" aria-hidden="true" aria-label="plus" %} Create new file**.
43+
1. In the file name field, type `.github/workflows/deploy.yml`.
44+
1. Add the following workflow content.
45+
46+
```yaml copy
47+
name: Deploy to GitHub Pages
48+
49+
on:
50+
push:
51+
branches:
52+
- main
53+
54+
permissions:
55+
contents: read
56+
pages: write
57+
id-token: write
58+
59+
jobs:
60+
deploy:
61+
runs-on: ubuntu-latest
62+
environment:
63+
name: github-pages
64+
url: {% raw %}${{ steps.deployment.outputs.page_url }}{% endraw %}
65+
steps:
66+
- name: Checkout
67+
uses: {% data reusables.actions.action-checkout %}
68+
- name: Setup Pages
69+
uses: actions/configure-pages@v5
70+
- name: Upload artifact
71+
{%- ifversion fpt or ghec %}
72+
uses: actions/upload-pages-artifact@v4
73+
{%- elsif ghes %}
74+
uses: actions/upload-pages-artifact@v2
75+
{%- endif %}
76+
with:
77+
path: '.'
78+
- name: Deploy to GitHub Pages
79+
{%- ifversion fpt or ghec %}
80+
id: deployment
81+
uses: actions/deploy-pages@v4
82+
{%- elsif ghes %}
83+
id: deployment
84+
uses: actions/deploy-pages@v2
85+
{%- endif %}
86+
```
87+
88+
1. Commit the file directly to the `main` branch.
89+
90+
## Understanding the workflow
91+
92+
Each part of the workflow has a job to do:
93+
94+
* **`on`** tells {% data variables.product.prodname_actions %} to run the workflow on every push to `main`.
95+
* **`permissions`** grant the workflow the access it needs to publish to {% data variables.product.prodname_pages %}.
96+
* **`environment`** connects the job to your {% data variables.product.prodname_pages %} site and exposes the published URL as {% raw %}`${{ steps.deployment.outputs.page_url }}`{% endraw %}.
97+
* **`steps`** check out your code, prepare {% data variables.product.prodname_pages %}, upload your files as an artifact, and deploy them to your live site.
98+
99+
## Viewing your live site
100+
101+
After you commit the workflow, {% data variables.product.prodname_actions %} runs it automatically.
102+
103+
1. In your repository, click the **Actions** tab to watch the workflow run.
104+
1. Click the latest workflow run to see a summary of the job details.
105+
1. When the run completes, open your published site at {% ifversion fpt or ghec %}`https://YOUR-USERNAME.github.io/stargazers-log/`{% elsif ghes %}`https://pages.HOSTNAME/YOUR-USERNAME/stargazers-log/`{% endif %}. Replace `YOUR-USERNAME` with your username{% ifversion ghes %}, and replace `HOSTNAME` with your {% data variables.product.prodname_ghe_server %} hostname{% endif %}.
106+
* For example, if your {% data variables.product.github %} account username is `octocat`, your site is at {% ifversion fpt or ghec %}`https://octocat.github.io/stargazers-log/`{% elsif ghes %}`https://pages.HOSTNAME/octocat/stargazers-log/`{% endif %}.
107+
108+
From now on, every push to `main` redeploys your site with your latest changes.
109+
110+
## What you built
111+
112+
Across this series, you built a complete software project and practiced the {% data variables.product.github %} workflow:
113+
114+
| Stage | What you learned |
115+
| ----- | ---------------- |
116+
| Creating your software project | Repositories, README files |
117+
| Planning your work | Issues, Projects (project boards) |
118+
| Connecting locally | {% data variables.product.prodname_desktop %}, cloning |
119+
| Writing and storing code | Branches, commits, pull requests, {% data variables.product.prodname_copilot_short %} |
120+
| Reviewing changes | Pull request reviews, {% data variables.product.prodname_copilot_short %} |
121+
| Deploying automatically | {% data variables.product.prodname_actions %}, {% data variables.product.prodname_pages %} |
122+
123+
## Next steps
124+
125+
* Expand your understanding of Git and {% data variables.product.github %}. For more information, see [AUTOTITLE](/get-started/start-your-journey/git-and-github-learning-resources).
126+
* Explore {% data variables.copilot.copilot_chat_short %} to learn faster and get help as you code. For more information, see [AUTOTITLE]({% ifversion ghes %}/enterprise-cloud@latest/{% endif %}/copilot/concepts/chat){% ifversion ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %}.
127+
* Go deeper with AI and learn how agents can act like a practical coding partner by turning ideas into small actionable steps, generating examples, and handling repetitive work. For more information, see [AUTOTITLE]({% ifversion ghes %}/enterprise-cloud@latest/{% endif %}/copilot/concepts/agents){% ifversion ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %}.
128+
* Learn more about automating your software projects with {% data variables.product.prodname_actions %} workflows. For more information, see [AUTOTITLE](/actions/get-started/understand-github-actions).
129+
* Add a custom domain or explore more ways to publish your website with {% data variables.product.prodname_pages %}. For more information, see [AUTOTITLE](/pages/getting-started-with-github-pages).

content/get-started/start-your-journey/index.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@ children:
1414
- /downloading-files-from-github
1515
- /uploading-a-project-to-github
1616
- /git-and-github-learning-resources
17+
- /creating-a-repository-for-your-project-on-github
18+
- /planning-your-work
19+
- /connecting-to-your-code-locally
20+
- /writing-and-storing-your-code
21+
- /reviewing-your-proposed-changes
22+
- /deploying-your-website-automatically
1723
redirect_from:
1824
- /github/getting-started-with-github/quickstart
1925
- /get-started/quickstart
@@ -24,11 +30,11 @@ journeyTracks:
2430
description: 'Master the fundamentals of {% data variables.product.github %} and Git.'
2531
guides:
2632
- href: '/get-started/start-your-journey/what-is-github'
27-
- href: '/get-started/start-your-journey/creating-an-account-on-github'
28-
- href: '/get-started/start-your-journey/hello-world'
29-
- href: '/get-started/start-your-journey/setting-up-your-profile'
30-
- href: '/get-started/start-your-journey/finding-inspiration-on-github'
31-
- href: '/get-started/start-your-journey/downloading-files-from-github'
32-
- href: '/get-started/start-your-journey/uploading-a-project-to-github'
33+
- href: '/get-started/start-your-journey/creating-a-repository-for-your-project-on-github'
34+
- href: '/get-started/start-your-journey/planning-your-work'
35+
- href: '/get-started/start-your-journey/connecting-to-your-code-locally'
36+
- href: '/get-started/start-your-journey/writing-and-storing-your-code'
37+
- href: '/get-started/start-your-journey/reviewing-your-proposed-changes'
38+
- href: '/get-started/start-your-journey/deploying-your-website-automatically'
3339
- href: '/get-started/start-your-journey/git-and-github-learning-resources'
3440
---

0 commit comments

Comments
 (0)