For many technical jobs, your GitHub page is a second CV. Recruiters and hiring managers often look at it to see whether you can write clear code, finish projects and work with others. A tidy profile with a few honest, well-explained projects usually says more than a long list of skills. This lesson shows how to prepare yours, and ends with a cheat sheet of the commands you have learned. No profile can promise an interview, but a clear one helps people understand what you can do.
Start with your profile
- Username and photo: professional and recognisable. Employers will see them.
- Bio: one line about what you do or are learning, for example
Learning back-end development with Node.js and Python. - Location and links: add your city or country if you are comfortable, and a link to your LinkedIn page or your resume.
- Email privacy: if you do not want your real email visible in commits, use the private no-reply address that GitHub provides in its email settings, and set it with
git config. - Profile README: if you create a repository with exactly the same name as your username, its README is shown on top of your profile. Use it for a short introduction: who you are, what you are learning, your best projects and how to contact you.
Choose and pin your best projects
Quality beats quantity. Three or four finished projects with a clear README are better than thirty empty repositories. GitHub lets you pin up to six on your profile. Choose the ones that show different skills. Ideas for projects are the ones you built in these courses: the Python expense tracker, the SQL queries on a shop database, and the Node task API. Make each of them your own, with a real purpose, and do not simply copy a tutorial without adding something.
A README that sells your project
- Title and one sentence: what it is and who it is for.
- A screenshot or a short demo for anything visual.
- Features: three to five bullet points.
- Technologies used.
- How to install and run it: exact commands that work on a fresh computer. Test them yourself.
- What you learned or what is next: shows that you can reflect on your work.
- Licence and contact, if you like.
Show your project live: GitHub Pages
For a static website, made of HTML, CSS and JavaScript files only, GitHub can host it for free with a feature called GitHub Pages, which you switch on in the repository settings. Your portfolio or a small project then has a public web address that you can put on your resume. Back-end projects that need a database or a server cannot run on Pages. For them, use a hosting service, or record a short video and describe the setup in the README. Check GitHub's own help pages for the current steps and limits.
Contribute to other projects
- Start small. Fix a typo in documentation, improve an example, or translate a sentence. These are real contributions and good practice for the pull request flow in lesson 7.
- Look for the label
good first issuein projects that you use. - Read
CONTRIBUTING.mdand the code of conduct first, and follow them. - Be patient and polite. Not every pull request is accepted, and every one teaches you something.
- Do not open pull requests only to collect activity. Maintainers notice, and it wastes their time.
Be honest about your history
- Do not fake activity. Employers who read your commits can see when and how you worked, and genuine, regular small commits look better than a rush of meaningless ones.
- Do not claim other people's code as yours. Credit sources in your README.
- It is fine to have beginner code in old repositories. You can make them private or archive them, and pin your current best.
On your resume
Put your GitHub link in the contact line at the top, and name two or three projects with one line each: what it does, the tools used and a result that you can honestly state. Our resume templates are built to stay readable by applicant tracking systems, and the ATS checker can show you how a resume reads. Look at the career roadmaps to see which skills match the role you want, and use our other courses on Python and Node.js and Express to build projects worth pinning.
One-page Git cheat sheet
SET UP (once)
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git config --global init.defaultBranch main
START
git init new repository in this folder
git clone <url> copy a repository from GitHub
EVERY DAY
git status what is going on? (safe, run it often)
git diff see unstaged changes
git add <file> | git add -A stage changes
git commit -m "Clear message" save a snapshot
git log --oneline --graph --all see the history
UNDO
git restore <file> discard edits in the folder
git restore --staged <file> unstage
git commit --amend -m "New text" fix the last commit (not pushed)
git revert <commit> undo a commit safely (shared work)
BRANCHES
git branch list branches
git switch -c <name> create and move to a branch
git switch <name> move to a branch
git merge <name> bring a branch into the current one
git merge --abort cancel a merge in trouble
git branch -d <name> delete a merged branch
REMOTE
git remote add origin <url> connect to GitHub
git push -u origin <branch> first push of a branch
git push | git pull send / receive changes
git fetch download without merging
EXTRAS
git stash | git stash pop put work aside / get it back
git tag -a v1.0 -m "Release" mark a release
git show <commit> see one commit
git blame <file> who changed each line
AVOID unless you are sure: reset --hard, push --force, clean -fd,
rebase on shared branches.
Print it, or keep it open while you practise. After a few weeks of daily use, you will not need it for the first two sections.
Your task
- Make or tidy your GitHub profile: photo, short bio, links.
- Pick one project, write a README with the seven parts above, and pin it.
- Create a profile README repository with your username, and write four lines about yourself.
- Add your GitHub link to your resume, with one line for each of two projects.
How to check it worked
- A stranger can understand what your pinned project does in under a minute.
- The install commands in your README work on a fresh clone.
- No secrets or private data are in any of your public repositories.