1. Project Overview & Quickstart (firstcontributions/first-contributions)
File: README.md
_Read this in [other languages](docs/translations/Translations.md)._
First Contributions
This project aims to simplify and guide the way beginners make their first contribution. If you are looking to make your first contribution, follow the steps below.
If you're not comfortable with command line, here are tutorials using GUI tools.
If you don't have git on your machine, [install it](https://docs.github.com/en/get-started/quickstart/set-up-git).
Fork this repository
Fork this repository by clicking on the fork button on the top of this page.
This will create a copy of this repository in your account.
Clone the repository
Now clone the forked repository to your machine. Go to your GitHub account, open the forked repository, click on the code button, then on SSH tab and then click the copy url to clipboard icon.
Open a terminal and run the following git command:
git clone "url you just copied"where "url you just copied" (without the quotation marks) is the url to this repository (your fork of this project). See the previous steps to obtain the url.
For example:
git clone [email protected]:this-is-you/first-contributions.gitwhere this-is-you is your GitHub username. Here you're copying the contents of the first-contributions repository on GitHub to your computer.
Create a branch
Change to the repository directory on your computer (if you are not already there):
cd first-contributionsNow create a branch using the git switch command:
git switch -c your-new-branch-nameFor example:
git switch -c add-alonzo-churchIf you get any errors using git switch, click here:
If the error message "Git: switch is not a git command. See git –help" appears, it's likely because you're using an older version of git.
In this case, try to use git checkout instead:
git checkout -b your-new-branch-nameMake necessary changes and commit those changes
Now open Contributors.md file in a text editor, add your name to it. Don't add it at the beginning or end of the file. Put it anywhere in between. Now, save the file.
If you go to the project directory and execute the command git status, you'll see there are changes.
Add those changes to the branch you just created using the git add command:
git add Contributors.mdNow commit those changes using the git commit command:
git commit -m "Add your-name to Contributors list"replacing your-name with your name.
Push changes to GitHub
Push your changes using the command git push:
git push -u origin your-branch-namereplacing your-branch-name with the name of the branch you created earlier.
If you get any errors while pushing, click here:
Authentication Error
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/<your-username>/first-contributions.git/'
Go to GitHub's tutorial on generating and configuring an SSH key to your account.Also, you might want to run 'git remote -v' to check your remote address.
If it looks anything like this:
origin https://github.com/your-username/your_repo.git (fetch)
origin https://github.com/your-username/your_repo.git (push)change it using this command:
bashgit remote set-url origin [email protected]:your-username/your_repo.gitOtherwise you'll still get prompted for username and password and get authentication error.
Submit your changes for review
If you go to your repository on GitHub, you'll see a Compare & pull request button. Click on that button.
Now submit the pull request.
Soon I'll be merging all your changes into the main branch of this project. You will get a notification email once the changes have been merged.
Where to go from here?
Congrats! You just completed the standard fork -> clone -> edit -> pull request workflow that you'll often encounter as a contributor!
Celebrate your contribution and share it with your friends and followers by going to web app.
If you'd like more practice, checkout code contributions.
Now let's get you started with contributing to other projects. We've compiled a list of projects with easy issues you can get started on. Check out the list of projects in the web app.
[Additional material](docs/additional-material/git_workflow_scenarios/additional-material.md)
Tutorials Using Other Tools
| GitHub Desktop | Visual Studio 2017 | GitKraken | Visual Studio Code | Atlassian Sourcetree | IntelliJ IDEA |
File: docs/gui-tool-tutorials/github-desktop-old-version-tutorial.md
First Contributions
| GitHub Desktop Edition |
|---|
It's hard. It's always hard the first time you do something. Especially when you are collaborating, making mistakes isn't a comfortable thing. But open source is all about collaboration & working together. We wanted to simplify the way new open-source contributors learn & contribute for the first time.
Reading articles & watching tutorials can help, but what comes better than actually doing the stuff without messing up anything. This project aims at providing guidance & simplifying the way rookies make their first contribution. Remember the more relaxed you are, the better you learn. If you are looking for making your first contribution just follow the simple steps below. We promise you, it will be fun.
If you don't have GitHub Desktop on your machine, install it.
Fork this repository
Fork this repo by clicking on the fork button on the top of this page.
This will create of copy of this repository in your account.
Clone the repository
Now clone this repo to your machine.
Open the GitHub Desktop app and click on the + on the top left.
If it is not already selected, click on Clone. Then choose first-contributions and then click on Clone first-contributions
Choose the directory on your machine you would like to clone first-contributions into
Now you have copied the contents of the first-contributions repository in github to your computer.
Create a branch
Now create a branch by clicking on the branch icon at the top left:
Name your branch add-your-name. For example, add-crawleya
Click on Create new branch
Make necessary changes and commit those changes
Now open Contributors.md file in a text editor and add your name to it, then save the file.
You can see that there are changes to Contributors.md and they have been added.
Now commit those changes:
Write the message "Add <your-name> to Contributors list" in the summary field
Replace <your-name> with your name
Click on the button that says Commit to add-your-name
At the bottom, you can see that the commit has been created.
Push changes to github
Click the Publish button on the top right.
Submit your changes for review
If you go to your repository on github, you'll see Compare & pull request button. click on that button.
Now submit the pull request.
Soon I'll be merging all your changes into the main branch of this project. You will get a notification email once the changes have been merged.
Where to go from here?
Congrats! You just completed the standard fork -> clone -> edit -> PR workflow that you'll encounter often as a contributor!
Celebrate your contribution and share it with your friends and followers by going to web app.
[Additional material](../additional-material/git_workflow_scenarios/additional-material.md)
Tutorials Using Other Tools
File: docs/gui-tool-tutorials/github-desktop-tutorial.md
First Contributions
| GitHub Desktop Edition |
|---|
It's hard. It's always hard the first time you do something. Especially when you are collaborating, making mistakes isn't a comfortable thing. But open source is all about collaboration & working together. We wanted to simplify the way new open-source contributors learn & contribute for the first time.
Reading articles & watching tutorials can help, but what comes better than actually doing the stuff without messing up anything. This project aims at providing guidance & simplifying the way rookies make their first contribution. Remember the more relaxed you are the better you learn. If you are looking for making your first contribution just follow the simple steps below. We promise you, it will be fun.
If you don't have GitHub Desktop on your machine, install it.
If you're using a version of GitHub desktop before 1.0, refer to this tutorial.
Fork this repository
Fork this repo by clicking on the fork button on the top right of this page.
This will create a copy of this repository in your account.
Clone the repository
Now clone this repo to your machine.
IMPORTANT: DO NOT CLONE THE ORIGINAL REPO. Go to your fork and clone it.
To clone the repo, click on "Code" and then click on "Open in Github Desktop".
A pop up window will open. Click on "Open GitHubDesktop.exe".
After you click on "Open GitHubDesktop.exe" a 'Clone a repository' dialogue box appears. Click on 'Clone'.
After that another dialogue box that says 'How are you planning to use this fork?' appears. Select 'To contribute to the parent project' and click on 'Continue'.
Now you have copied the contents of the first-contributions repository in github to your computer.
Create a branch
Now create a branch by clicking on the "Current branch" icon at the top and then click on "New branch":
Name your branch
Click on Create branch
Make necessary changes and commit those changes
Now, go to history tab and open Contributors.md file in a text editor by right clicking and open in text editor. Scroll to the bottom of the page and add your name to it, then save the file.
Example: If your name is James Smith, It should look like this.
[James Smith](https://github.com/jamessmith)
You can see that there are changes to Contributors.md and they have been added to the Github Desktop.
Now commit those changes:
Write the message "Add <your-name> to Contributors list" in the summary field.
Replace <your-name> with your name.
Click on the button that says Commit to add-your-name.
At the bottom, you can see that the commit has been created.
Push changes to github
Click on File->Options and sign-in to Github.com. Type in your Github username and password.
Click the Publish button on the top right.
Submit your changes for review
If you go to your repository on github, you'll see Compare & pull request button. click on that button.
Now submit the pull request.
Soon I'll be merging all your changes into the main branch of this project. You will get a notification email once the changes have been merged.
Where to go from here?
Congrats! You just completed the standard fork -> clone -> edit -> PR workflow that you'll encounter often as a contributor!
Celebrate your contribution and share it with your friends and followers by going to web app.
[Additional material](../additional-material/git_workflow_scenarios/additional-material.md)
Tutorials Using Other Tools
File: docs/gui-tool-tutorials/github-windows-intellij-tutorial.md
First Contributions
| Intellij IDEA |
|---|
It's hard. It's always hard the first time you do something. Especially when you are collaborating, making mistakes isn't a comfortable thing. But open source is all about collaboration & working together. We wanted to simplify the way new open-source contributors learn & contribute for the first time.
Reading articles & watching tutorials can help, but what comes better than actually doing the stuff without messing up anything. This project aims at providing guidance & simplifying the way rookies make their first contribution. Remember the more relaxed you are, the better you learn. If you are looking for making your first contribution, just follow the simple steps below. We promise you, it will be fun.
If you don't have IntelliJ IDEA on your machine, install it.
Notice: This tutorial was made using IntelliJ IDEA (Version 2019.3.2) on a Windows 10 machine. Later in this tutorial we will make use of some keyboard shortcuts. These may differ on other operating systems (macOS/Linux).
Fork this repository
Fork this repo by clicking on the fork button on the top right of this page. This will create a copy of this repository in your GitHub account.
GitHub keeps track of the relationship between your repo and the one you have forked it from. You can think of your repo as a working copy.
Most top-level GitHub Repos (i.e. ones not forked from any other repo) have a small core team of people who can directly commit changes. All other contributors must fork the repo and make changes in the fork, then create a Pull Request to request to merge back their changes into the top-level repo. If the top-level repo administrator approves the changes they will be merged, and you will gain instant fame and fortune! More on how to do that later.
Clone your repository
The next step is to clone your repo down to your machine, so you can begin making changes. IntelliJ IDEA needs the URL of your repo, so click the "clone" button and then click the "copy to clipboard" icon.
CAREFUL: One common mistake that new contributors often make is to clone the repo you forked from rather than cloning your repo. Check your browser's address bar and make sure you are cloning your repo.
Now open up IntelliJ IDEA.
IntelliJ IDEA allows you to check out (in Git terms clone) an existing repository and create a new project based on the data you've downloaded.
From the main menu, choose VCS | Get from Version Control, or, if no project is currently opened, click Get from Version Control on the Welcome screen.
In the Get from Version Control dialog, specify the URL of the remote repository you want to clone (you can click Test to make sure that connection to the remote can be established) or select one of the VCS hosting services on the left. If you are already logged in to the selected hosting service, completion will suggest the list of available repositories that you can clone.
Click Clone. If you want to create an IntelliJ IDEA project based on the sources you have cloned, click Yes in the confirmation dialog. Git root mapping will be automatically set to the project root directory.
If your project contains submodules, they will also be cloned and automatically registered as project roots.
Important: Make sure it is the forked repository and not the original one, otherwise it won't work.
Create a branch
In Git, branching is a powerful mechanism that allows you to diverge from the main development line, for example, when you need to work on a feature or freeze a certain state of a codebase for a release, and so on.
In IntelliJ IDEA, all operations with branches are performed in the Git Branches popup. To invoke it, click the Git widget in the Status bar or press Ctrl+Shift+`.
The name of the branch that is currently checked out is displayed in the Git widget in the Status bar.
In the branches popup, choose New Branch.
In the dialog that opens, specify the branch name, and make sure the Checkout branch option is selected if you want to switch to that branch.
The new branch will start from the current HEAD. If you want to start a branch from a previous commit instead of the current branch HEAD, select this commit in the Log tab of the Version Control tool window Alt+9 and choose New Branch from the context menu.
Make necessary changes
Open Contributors.md and add your name anywhere in the file. This file contains GFM (GitHub Flavored Markdown) which is a proprietary flavor of the markdown syntax.
Copy one of the other contributors' lines and modify it with your name to make sure you get the syntax right - it can be picky.
Commit & Push changes to GitHub
Select the files you want to commit or an entire changelist in the Local Changes tab of the Version Control tool window Alt+9 and press Ctrl+K or click Commit Commit button on the toolbar.
The Commit Changes dialog that opens lists all files that have been modified since the last commit, as well as all newly added unversioned files.
Enter a meaningful commit message.
You can click Commit Message history Commit Message history Ctrl+M to choose from the list of recent commit messages.
You can also edit the commit message later before you've pushed the commit.
Press Ctrl+Shift+K or choose VCS | Git | Push from the main menu. The Push Commits dialog opens showing all Git repositories (for multi-repository projects) and listing all commits made in the current branch in each repository since the last push.
Submit your changes for review
At this point you have completed your change but it still only resides in your repo. This step will show you how to submit a request to the administrator of the top-level repo to merge your change.
In your repo on GitHub you'll see the Compare & pull request button next to the new branch notification. Click on that button.
Now submit the pull request.
Soon I'll be merging all your changes into the main branch of this project. You will get a notification email once the changes have been merged.
Where to go from here?
Congrats! You have just completed the standard fork -> clone -> edit -> PR workflow that you'll encounter often as a contributor!
Celebrate your contribution and share it with your friends and followers by going to web app.
[Additional material](../additional-material/git_workflow_scenarios/additional-material.md)
Tutorials Using Other Tools
File: docs/gui-tool-tutorials/github-windows-intellij-tutorial.zh-cn.md
First Contributions(第一次贡献)
| Intellij IDEA |
|---|
第一次做某事总是困难的。尤其是在协作时,犯错误并不是一件舒服的事。但开源的本质就是协作与共同进步。我们希望简化新手学习与第一次参与开源项目的过程。
阅读文章和观看教程是有帮助的,但没有什么比“亲手实践又不会搞砸项目”更好的学习方式了。这个项目的目标是为新手提供指导,并简化他们第一次做出贡献的过程。记住:越放松,学习效果越好。如果你正在寻找第一次开源贡献的机会,只需按照以下简单的步骤操作。我们保证这将是一段有趣的旅程。
如果你还没有安装 IntelliJ IDEA,点击这里安装。
注意: 本教程使用的是 IntelliJ IDEA(版本 2019.3.2)在 Windows 10 系统上操作。教程中后续涉及的一些快捷键在 macOS 或 Linux 上可能会有所不同。
Fork 这个仓库
点击页面右上角的 Fork 按钮 Fork 此仓库。这将在你的 GitHub 账户中创建一个此项目的副本。
GitHub 会记录你 Fork 的仓库与原始仓库之间的关系。你可以把你的副本看作是一个工作副本。
大多数顶层 GitHub 仓库(即不是 Fork 而来的)只有一小部分核心团队成员可以直接提交更改。其他所有贡献者必须 Fork 该仓库,修改后提交 Pull Request 请求将更改合并回主仓库。一旦主仓库管理员批准这些更改,它们将被合并,而你将瞬间收获名誉与财富!稍后我们会介绍如何创建 Pull Request。
克隆你的仓库
下一步是将你的仓库克隆到本地,这样你就可以开始修改内容了。IntelliJ IDEA 需要你的仓库 URL,因此点击仓库页面上的 "Code" 按钮,然后点击“复制”图标。
注意: 新手经常犯的一个错误是克隆了原始仓库而不是自己的 Fork 仓库。请确认你复制的是你自己的仓库地址。
现在打开 IntelliJ IDEA。
IntelliJ IDEA 允许你检出(Git 中的 clone)一个已有的仓库,并基于下载的内容创建新项目。
在主菜单中选择 VCS | Get from Version Control,或者在没有打开项目时点击欢迎界面中的 Get from Version Control。
在打开的对话框中,粘贴你仓库的远程地址(你也可以点击 “Test” 测试连接),或从左侧选择一个 VCS 托管服务。如果你已登录某个服务,它会自动列出你可克隆的仓库。
点击 “Clone”。如果你想基于克隆的源代码创建 IntelliJ 项目,在确认对话框中点击 “Yes”。Git 根目录将自动设置为项目根目录。
如果项目包含子模块,它们也会被克隆并注册为项目根。
重要提示: 确保克隆的是你自己的 Fork 仓库,而不是原始仓库,否则不会生效。
创建分支
在 Git 中,分支是一种强大的机制,允许你从主开发线中分离出来,比如开发一个新功能或为发布冻结某个版本等。
在 IntelliJ IDEA 中,所有与分支相关的操作都可以在 Git 分支弹出窗口中完成。点击状态栏中的 Git 小部件,或按 `Ctrl+Shift+`` 唤出它。
当前检出的分支名称会显示在状态栏的 Git 小部件中。
在弹出窗口中选择 New Branch。
在弹出对话框中输入分支名称,确保勾选 “Checkout branch” 选项,这样你会自动切换到新建分支。
新分支会从当前的 HEAD 开始。如果你想从某个旧提交创建分支,可以在 Version Control 工具窗口的 Log 选项卡(快捷键 Alt+9)中选择一个提交,然后右键选择 New Branch。
进行必要的修改
打开 Contributors.md 文件,在文件中的任意位置添加你的名字。该文件使用的是 GitHub Flavored Markdown (GFM) 语法,是 Markdown 的一种扩展格式。
你可以复制其他贡献者的格式,并修改成你的名字,以确保语法正确 —— 有时语法会比较严格。
提交并推送更改到 GitHub
在 Version Control 工具窗口的 Local Changes 选项卡中,选择你要提交的文件或整个更改列表,按下 Ctrl+K 或点击工具栏上的 Commit 按钮。
在弹出的提交对话框中,会列出你自上次提交以来的所有更改文件及新增文件。
输入有意义的提交信息。
你可以按 Ctrl+M 打开提交历史,从中选择最近用过的提交信息。
你也可以在推送前随时修改提交信息。
按 Ctrl+Shift+K 或从主菜单选择 VCS | Git | Push。弹出的 Push Commits 窗口会列出当前分支所有未推送的提交。
提交 Pull Request 请求代码审查
此时你已完成了修改,但这些更改仍然只存在于你自己的仓库中。接下来我们将向原始仓库提交合并请求。
在你的 GitHub 仓库页面上,你会看到一个 “Compare & pull request” 的按钮。点击它。
接下来提交你的 Pull Request。
不久之后,你的更改就会被合并到主仓库的 main 分支中。一旦合并成功,你会收到邮件通知。
接下来可以做什么?
恭喜!你刚刚完成了标准的 fork -> clone -> 编辑 -> PR 流程,这将是你未来开源贡献中非常常见的工作流程!
庆祝一下你的首次贡献,并通过 web app 与好友分享你的成就吧!
[附加资料](../additional-material/git_workflow_scenarios/additional-material.md)
使用其他工具的教程
File: docs/gui-tool-tutorials/github-windows-vs-code-tutorial.md
First Contributions
| Visual Studio Code |
|---|
It's hard. It's always hard the first time you do something. Especially when you are collaborating, making mistakes isn't a comfortable thing. But open source is all about collaboration & working together. We wanted to simplify the way new open-source contributors learn & contribute for the first time.
Reading articles & watching tutorials can help. But, what is better than actually doing the stuff without messing up anything? This project aims at providing guidance & simplifying the way rookies make their first contribution. Remember the more relaxed you are, the better you learn. If you are looking for making your first contribution, just follow the simple steps below. We promise you, it will be fun.
If you don't have Visual Studio Code on your machine, install it.
Notice: This tutorial was made using Visual Studio Code (Version 1.27.2) on a Windows 10 machine. Later in this tutorial we will make use of some keyboard shortcuts. These may differ on other operating systems (macOS/Linux) as well as keyboard language (UK, DE, etc). You can go through your list of shortcuts by searching "shortcut" in the Command Palette.
Fork this repository
Fork this repo by clicking on the fork button on the top right of this page. This will create a copy of this repository in your GitHub account.
GitHub keeps track of the relationship between your repo and the one you have forked it from. You can think of your repo as a working copy.
Most top-level GitHub repos (i.e. ones not forked from any other repo) have a small core team of people who can directly commit changes. All other contributors must fork the repo and make changes in the fork, then create a Pull Request to ask for their changes to be merged back into the top-level repo. If the top-level repo administrator likes the changes they will be merged and you will gain instant fame and fortune! More on how to do that later.
Clone your repository
The next step is to clone your repo down to your machine so you can begin making changes. VS Code needs the URL of your repo, so click the code button and then click the "copy to clipboard" icon.
CAREFUL: One mistake that new contributors often make is to clone the repo you forked from rather than cloning your repo. Check your browser's address bar and make sure you are cloning your repo.
Now open up Visual Studio Code. The welcome page of VS Code will pop up. From there press F1 to open up the bar shown below. Notice that there is already a > (greater than) sign in the text field. You can also get to the input prompt by pressing CTRL-P and then type the > character.
You may notice that there are already some obscure commands listed below. Those are my recently used commands. So just don't care about them.
Now type in git clone, only git or clone (it works like a search).
Select the Entry Git: Clone and press Enter
Paste the URL of your repository and press Enter. This will open up a File Explorer where you can then choose where the Git repository should be stored.
Important: Make sure it is the forked repository and not the original one, otherwise it won't work.
You should see a status popup on the bottom right of Visual Studio Code. After it has finished, you can open up the cloned repository (now a folder on your machine) using the buttons in the dialog.
Create a branch
Open up the command palette again by pressing F1. Type in branch and select the create branch command from there. In the next step type in the name of your new branch, for example add-david-kroell. Press enter and the branch will be created. The branch is also already checked out. What does checkout mean?
Make necessary changes
Open Contributors.md and add your name anywhere in the file. This file contains GFM (GitHub Flavored Markdown) which is a proprietary flavor of the markdown syntax.
Copy one of the other contributors' lines and modify it with your name to make sure you get the syntax right - it can be picky. Save file to register change.
Commit & Push changes to GitHub
On the left side of VS Code is a menu with 5 icons displayed. Select the version control/Source Control icon.
(Shortcut : Ctrl + Shift + G)
The file explorer displays all files which were changed after the last commit. By hovering the files and clicking the + (plus) the files are staged.
Replace the top explorer line text with 'Add your-name to Contributors list' and press the checkmark. The changes are now committed to your local copy. Now the changes have to be pushed back to GitHub.
Use the three-dot icon to open up the menu where you select the Publish Branch option. This should open up a dialog to put your GitHub credentials in.
Submit your changes for review
At this point you have completed your change but it still only resides in your repo. This step will show you how to submit a request to the administrator of the top-level repo to merge your change.
In your repo on GitHub you'll see the Compare & pull request button next to the new branch notification. Click on that button.
Now submit the pull request.
Soon I'll be merging all your changes into the main branch of this project. You will get a notification email once the changes have been merged.
Where to go from here?
Congrats! You have just completed the standard fork -> clone -> edit -> PR workflow that you'll encounter often as a contributor!
Celebrate your contribution and share it with your friends and followers by going to web app.
[Additional material](../additional-material/git_workflow_scenarios/additional-material.md)
Tutorials Using Other Tools
File: docs/gui-tool-tutorials/github-windows-vs2017-tutorial.md
First Contributions
| Visual Studio 2017 Edition |
|---|
It's hard. It's always hard the first time you do something. Especially when you are collaborating, making mistakes isn't a comfortable thing. But open source is all about collaboration & working together. We wanted to simplify the way new open-source contributors learn & contribute for the first time.
Reading articles & watching tutorials can help, but what comes better than actually doing the stuff without messing up anything. This project aims at providing guidance & simplifying the way rookies make their first contribution. Remember the more relaxed you are the better you learn. If you are looking for making your first contribution just follow the simple steps below. We promise you, it will be fun.
If you don't have Visual Studio 2017 on your machine, install it.
Fork this repository
Fork this repository by clicking on the fork button on the top of this page. This will create of copy of this repository in your GitHub account.
GitHub keeps track of the relationship between your repo and the one you forked it from. You can think of your repo as a working copy.
Most top-level GitHub repos (i.e. ones not forked from any other repo) have a small core team of people who can directly commit changes. All other contributors must fork the repo and make changes in the fork, then create a Pull Request to ask for their changes to be merged back into the top-level repo. If the top-level repo administrator likes the changes they will be merged and you will gain instant fame and fortune! More on how to do that later.
Clone your repository
The next step is to clone your repo down to your machine so you can begin making changes. Visual Studio needs the URL of your repo, so click the "clone" button and then click the "copy to clipboard" icon.
CAREFUL: One mistake that new contributors often make is to clone the repo you forked from rather than cloning your repo. Check your browser's address bar and make sure you are cloning your repo.
It is now time to jump in to Visual Studio 2017! You will be working in the Team Explorer tab for most of this tutorial. If it is not open by default, click View > Team Explorer to open it.
Team Explorer has many views and there are navigation buttons located at the top to help you find the different areas. To clone a repo, you need to be on the Connect view, which should be the default. If you do not see the 'clone' button, click the green plug at the top.
Click the Clone option under Local Git Repositories and paste the URL to your repo in the text box. This should be the URL you copied to your clipboard from GitHub previously.
Click the Clone button to initiate the process.
When the process is complete you will be moved over to the Solution Explorer tab where you can see the contents of your repo. Yours will look different than the screenshot below because things change!
Create a branch
Click back to the Team Explorer tab and use the main navigation dropdown to open the Branches view.
You should see the first-contributions repo and the default branch, which is called main. Right-click on main and choose New Local Branch From....
Give your branch a name like add-<your_name_here>, for example: add-alonzo-church.
Leave the Checkout branch box checked and click the Create Branch button.
You should see your new branch in the list.
Make necessary changes
Open Contributors.md and add your name to the end of the list. This file contains GFM (GitHub Flavored Markdown) which is a proprietary flavor of the markdown syntax.
Copy one of the other contributors' lines and modify it with your name to make sure you get the syntax right - it can be picky.
Commit & Push changes to GitHub
Switch back to Team Explorer and navigate to the Changes view.
Enter the information you want to post with your commit and click Save. Visual Studio will remember it for future commits.
NOTE: Visual Studio uses a hidden folder called .vs to store your personal settings and preferences. The contents of this folder should not be saved in Git.
If it has not been ignored already, you may need to tell Git to ignore this folder so it does not send it up to the repo.
This folder has already been ignored in this repo, so you should not have to perform this step...it is just here for your reference for future projects.
Now you should see a list of changed files and a textbox to type a commit comment. Comments should be in brief but thorough. There is nothing worse than reading through commit comments and seeing this: "I updated some stuff". Take a few seconds to outline your commit. Your team will thank you later, and you might even thank yourself!
Click Commit All and Push to perform a local commit and push your changes back up to your repo, all in one step.
NOTE: Commit can be performed separately from Push. We do both here for convenience. Commit logs your changes locally but they will not be reflected in your GitHub repo until you Push.
The first time you Push to GitHub, Visual Studio will ask for your GitHub credentials. They will be cached so you should not see this very often.
After the Push operation completes, open your repo in GitHub and you should see a message indicating a recently pushed branch.
You can view your changes by opening the Branch: main dropdown and selecting your new branch. Congratulations, you can share the branch URL with the world to show your progress!
Submit your changes for review
At this point you have completed your change but it still only resides in your repo. This step will show you how to submit a request to the administrator of the top-level repo to merge your change.
In your repo on GitHub you'll see the Compare & pull request button next to the new branch notification. Click on that button.
Now submit the pull request.
Soon I'll be merging all your changes into the main branch of this project. You will get a notification email once the changes have been merged.
Where to go from here?
Congrats! You have just completed the standard fork -> clone -> edit -> PR workflow that you'll encounter often as a contributor!
Celebrate your contribution and share it with your friends and followers by going to web app.
[Additional material](../additional-material/git_workflow_scenarios/additional-material.md)
Tutorials Using Other Tools
File: docs/gui-tool-tutorials/gitkraken-tutorial.md
First Contributions
| GitKraken Edition |
|---|
It's hard. It's always hard, when you do something for the first time. Especially when you are collaborating, making mistakes isn't a comfortable thing. But open source is all about collaboration & working together. We wanted to simplify the way new open-source contributors learn & contribute for the first time.
Reading articles & watching tutorials can help, but what comes better than actually doing the stuff without messing up anything. This project aims at providing guidance & simplifying the way rookies make their first contribution. Remember the more relaxed you are, the better you learn. If you are looking for making your first contribution just follow the simple steps below. We promise you, it will be fun.
Git Kraken
Download GitKraken, Install and open it.
You should see the "Welcome to GitKraken" modal dialog - Sign in with GitHub and allow GitKraken access to your GitHub account.
(optional) Go to File -> Preferences and set your project directory to the root of your local repositories.
Fork this repository
Fork this repo by clicking on the fork button on the top of this page.
This will create of copy of this repository in your account.
Clone the repository
In GitKraken, go to File -> Clone Repo.
Select GitHub.com in the right pane. Under your username, you should see first-contributions. Click that repository and check the full path shown at the bottom of this pane.
Once you're satisfied with the path, click "Clone the repo!".
Create a branch
Click the branch button on the toolbar.
Name your branch "add-your-name", for example: "add-william-sutton"
Make necessary changes and commit those changes
Now open Contributors.md file in a text editor and add your name to it, then save the file.
If you have the repo open in GitKraken you'll see there are changes. Review and stage those changes by selecting the newest commit marked with "// WIP" and the number of files changed and the type of change.
Review the files that have been changed and decide what you would like to stage. Staging is important to tell git exactly what file changes you want associated with this commit.
Once you have a good commit message ("Add
If you change your mind, you can unstage those changes, or you can discard them all together.
WARNING: As the word discard implies, this is a destructive operation. Do this only if you don't want any change(s) from whatever repository you're in.
Hit commit.
Congratulations, you've committed all the changes to your local copy of your branch of your fork of first-contributions. Onward!
Push changes to GitHub
Click the Push button on the toolbar.
Submit changes on the origin branch if you want the changes to reflect in the main branch directly, else select the appropriate branch you want to push.
Submit your changes for review
If you go to your repository on github, you'll see Compare & pull request button. Click on that button.
Now submit the pull request.
Soon I'll be merging all your changes into the main branch of this project. You will get a notification email once the changes have been merged.
Where to go from here?
Congrats! You have just completed the standard fork -> clone -> edit -> PR workflow that you'll encounter often as a contributor!
Celebrate your contribution and share it with your friends and followers by going to web app.
[Additional material](../additional-material/git_workflow_scenarios/additional-material.md)
Tutorials Using Other Tools
File: docs/gui-tool-tutorials/sourcetree-macos-tutorial.md
First Contributions
| Atlassian Sourcetree |
|---|
It's hard. It's always hard, when you do something for the first time. Especially when you are collaborating, making mistakes isn't a comfortable thing. But open source is all about collaboration & working together. We wanted to simplify the way new open-source contributors learn & contribute for the first time.
Reading articles & watching tutorials can help, but what comes better than actually doing the stuff without messing up anything. This project aims at providing guidance & simplifying the way rookies make their first contribution. Remember the more relaxed you are, the better you learn. If you are looking for making your first contribution just follow the simple steps below. We promise you, it will be fun.
Sourcetree
Please note, this tutorial is for MacOS. It is similar to Sourcetree on Windows but some things may look different.
Download Sourcetree, Install and open it.
You should see the "Sourcetree" modal dialog.
From here, you want to click on Remote. If this is the first installation, then you likely haven't connected your GitHub account yet. Do so by clicking the "Connect Button".
The Accounts dialog will appear. Click "Add" in the lower left hand corner. Then select the appropriate settings to add GitHub (or any other account you want) to the client. After you selected your settings for GitHub, click "Connect Account."
This will open a page in your web browser. Follow the steps given to authorize your account.
Fork this repository
Fork this repo by clicking on the fork button on the top of this page.
This will create of copy of this repository in your account.
Clone the repository
In Sourcetree, Click on the "Remote" button. This should load all of your GitHub repos which are listed on GitHub.
Once you click the "Clone" button, you will be presented with another view to define several different things.
Source URL: This is automatically filled and you don't need to change it. It is the URL from where your GitHub project resides.
Destination Path: This is the physical location on your computer where this project will be saved
Name: This is a "Bookmark" to how Sourcetree will reference your project. Think of it like a shortcut.
Note: Normally the defaults in these fields are fine.
Once you are satisfied, click "Clone"
This will bring up the main repo browser for your repository!
Create a branch
Click the branch button on the toolbar.
Name your branch "add-your-name-to-contribution", for example: "add-sally-to-contribution".
To do this, click Branch (1) which launches the naming dialog. Then Add your name (2) as just described. Finally click Create Branch. This will create the branch for what you just named.
Make necessary changes and commit those changes
Now open Contributors.md file in a text editor and add your name to it, with your Github URL link, then save the file.
You should be able to see and review the file that have been changed and decide what you would like to stage. Staging is important to tell git exactly what file changes you want associated with this commit.
Note: If you do not see the file's diff, click Uncommitted Files at the top of your dialog
Next click the Commit button on the top left of the dialog. This will show you your staging area.
Click the Checkbox to add the file to the staging area. Then enter a commit message.
Note: You can also select files (both in the staging and unstaged areas) and add/remove files from the respective areas by using the spacebar
Once you have added your changes and added a commit message, you can press the Commit button to finally make the commit.
Congratulations, you've committed all the changes to your local copy of your branch of your fork of first-contributions. Onward!
Push changes to GitHub
Now you are ready to push your changes to github. This will be pushing it to your own, forked, copy of the project. Follow the steps to push your branch up. First, click Push (1), this will show the remote/push dialog. Click (2) the checkbox of your branch you want to push. Select OK (3) and this will push your commit up to Github.
Submit your changes for review
If you go to your repository on github, you'll see Compare & pull request button. Click on that button.
Now submit the pull request.
Soon I'll be merging all your changes into the main branch of this project. You will get a notification email once the changes have been merged.
Where to go from here?
Congrats! You have just completed the standard fork -> clone -> edit -> PR workflow that you'll encounter often as a contributor!
Celebrate your contribution and share it with your friends and followers by going to web app.
[Additional material](../additional-material/git_workflow_scenarios/additional-material.md)
Tutorials Using Other Tools
File: docs/gui-tool-tutorials/sublime-merge-tutorial.hi.md
First Contributions — हिंदी
| Sublime Merge Git क्लाइंट |
|---|
पहली बार कुछ करना हमेशा थोड़ा कठिन लगता है। खासकर जब आप सहयोग (collaboration) कर रहे हों या कुछ नया आज़मा रहे हों — गलतियाँ करना सहज नहीं लगता। लेकिन ओपन सोर्स का मूल ही सहयोग और मिलकर काम करना है। हम चाहते हैं कि नए ओपन-सोर्स योगदानकर्ता पहली बार योगदान देना आसानी से सीखें और कर पाएं।
लेख पढ़ना और ट्यूटोरियल देखना मदद करता है, लेकिन बिना कुछ बिगाड़े खुद करके सीखना सबसे अच्छा होता है। यह प्रोजेक्ट नए योगदानकर्ताओं को मार्गदर्शन देने और उनका पहला योगदान सरल बनाने के लिए बनाया गया है। याद रखें: जितना सहज महसूस करेंगे, उतना बेहतर सीखेंगे। अगर आप अपना पहला योगदान देना चाहते हैं, तो नीचे दिए गए आसान चरणों का पालन करें — यह मज़ेदार होगा!
Sublime Merge
Sublime Merge डाउनलोड करें, इंस्टॉल करें और ओपन करें।
इस रिपॉज़िटरी को फोर्क करें
इस पेज के ऊपर दिए गए Fork बटन पर क्लिक करके इस रिपॉज़िटरी को फोर्क करें।
यह आपकी अकाउंट में इस रिपॉज़िटरी की एक कॉपी बना देगा।
रिपॉज़िटरी को क्लोन करें
Sublime Merge में File -> Clone Repository पर जाएँ।
अगला चरण है अपनी रिपॉज़िटरी को अपनी मशीन पर क्लोन करना ताकि आप बदलाव करना शुरू कर सकें। Sublime Merge को आपकी रिपॉज़िटरी का URL चाहिए, इसलिए “clone” बटन दबाएँ और फिर “copy to clipboard” आइकन पर क्लिक करें।
सावधान: नए योगदानकर्ता अक्सर गलती से उस रिपॉज़िटरी को क्लोन कर लेते हैं जिससे आपने फोर्क किया है, बजाय अपने फोर्क को क्लोन करने के। अपने ब्राउज़र की address bar देखकर सुनिश्चित करें कि आप अपने फोर्क को ही क्लोन कर रहे हैं।
Sublime Merge में रिपॉज़िटरी का URL दर्ज करें, चाहें तो कोई नाम दें (या खाली छोड़ दें) और वह डायरेक्टरी चुनें जहाँ आप रिपॉज़िटरी सेव करना चाहते हैं।
जब पथ सही लगे, “Clone” पर क्लिक करें।
एक ब्रांच बनाएँ
Right click Branches -> Create Branch
या
Repository -> Create Branch पर जाएँ।
अपनी ब्रांच का नाम "add-your-name" जैसा रखें, उदाहरण: "add-william-sutton"।
ज़रूरी बदलाव करें और उन्हें कमिट करें
अब Contributors.md फ़ाइल को किसी टेक्स्ट एडिटर में खोलें और अपना नाम जोड़ें, फिर फ़ाइल सेव करें।
यदि रिपॉज़िटरी Sublime Merge में खुली है, तो आप बदलाव देख पाएँगे।
ऊपर सबसे नए सेक्शन "x unstaged files" को चुनें।
जिन फ़ाइलों में बदलाव हुआ है उन्हें देखें और तय करें कि क्या स्टेज करना है।
कमिट संदेश दें (उदाहरण: "Add <your-name> to Contributors list" — यह स्पष्ट और अच्छा है)।
जब आप बदलावों से संतुष्ट हों, तो फ़ाइल-दर-फ़ाइल स्टेज करें या "stage all" चुनें। स्टेज करना ज़रूरी है ताकि Git जान सके कि इस कमिट में कौन-से बदलाव शामिल करने हैं।
यदि मन बदल जाए, तो बदलावों को unstage कर सकते हैं या पूरी तरह discard भी कर सकते हैं।
चेतावनी: Discard का मतलब बदलावों को स्थायी रूप से हटाना है। इसे तभी करें जब आपको वे बदलाव बिल्कुल नहीं चाहिएँ।
Commit पर क्लिक करें, अपना यूज़रनेम और ईमेल दर्ज करें और Update दबाएँ।
फिर से Commit पर क्लिक करें।
बधाई! आपने अपनी फोर्क की हुई रिपॉज़िटरी की अपनी ब्रांच पर स्थानीय रूप से सारे बदलाव कमिट कर दिए हैं। आगे बढ़ते हैं!
बदलाव GitHub पर पुश करें
Repository -> Push पर जाएँ
या ऊपर दाएँ कोने में ऊपर की ओर तीर वाले छोटे आइकन पर क्लिक करें।
अपने GitHub अकाउंट में यूज़रनेम और पासवर्ड से लॉगिन करें।
यदि आप चाहते हैं कि बदलाव सीधे main (default) ब्रांच में दिखें, तो origin की वही ब्रांच चुनकर पुश करें; अन्यथा जिस उपयुक्त ब्रांच पर पुश करना है उसे चुनें।
अपने बदलाव समीक्षा के लिए सबमिट करें
GitHub पर अपनी रिपॉज़िटरी में जाएँ — आपको Compare & pull request बटन दिखेगा। उस पर क्लिक करें।
अब पुल रिक्वेस्ट सबमिट करें।
जल्द ही आपके बदलाव इस प्रोजेक्ट की main ब्रांच में मर्ज कर दिए जाएँगे। मर्ज होने पर आपको ईमेल नोटिफ़िकेशन मिल जाएगा।
आगे क्या?
शाबाश! आपने एक योगदानकर्ता के रूप में अक्सर मिलने वाले मानक वर्कफ़्लो — fork -> clone -> edit -> PR — को पूरा कर लिया है!
अपने योगदान का जश्न मनाएँ और अपने दोस्तों व फ़ॉलोअर्स के साथ शेयर करें: web app।
[अतिरिक्त सामग्री](../additional-material/git_workflow_scenarios/additional-material.md)
अन्य टूल्स के साथ ट्यूटोरियल्स
2. Official Technical Reference & Guides (firstcontributions/firstcontributions.github.io)
First Contributions
A website to help people make their first open source contribution.
Features
- Project Discovery: Browse open source projects suitable for beginners
- Issue Integration: View "good first issue" and "help wanted" issues directly from GitHub
- Bento Layout: Modern, responsive card layout with varying heights
- Real-time Data: Fetches live issue data from GitHub repositories
Setup
Prerequisites
- Node.js 18+
- npm or pnpm
Installation
npm install
# or
pnpm installGitHub API Setup (Optional)
To enable live issue fetching, you'll need a GitHub Personal Access Token:
- Go to GitHub Settings > Personal Access Tokens
- Generate a new token (no special permissions needed)
- Create a
.envfile in the project root:
GITHUB_TOKEN=your_token_hereWithout a token, the site will work but won't show live GitHub issues due to rate limiting.
Development
npm run dev
# or
pnpm devBuild
npm run build
# or
pnpm buildTech Stack
- Astro: Static site generator
- TypeScript: Type safety
- GitHub API: Live issue data
- CSS: Modern styling with glassmorphism effects