This guide explains how to contribute to the Tink project repository by forking, cloning, creating branches, and submitting pull requests.
If you do not have Git installed:
-
Download Git for Windows (Git Bash): 👉 https://git-scm.com/downloads
-
Click "Windows" → download should start automatically
-
Open the installer and follow the setup wizard
-
Keep all default settings unless you know what to change
-
After installation, open Git Bash from the Start Menu
To verify installation:
git --versionYou should see something like:
git version 2.45.1.windows.1
- Git installed (Git Bash for Windows users)
- GitHub account
- Basic Git knowledge
- Go to the original Tink repository on GitHub
- Click Fork
- Select your GitHub account
- GitHub creates your personal copy
git clone https://github.com/putrinaq/Tink.gitcd TinkAdd upstream (original repo):
git remote add upstream https://github.com/putrinaq/Tink.gitVerify:
git remote -vYou should see:
origin→ your forkupstream→ original repository
git checkout -b your-feature-branch-nameExamples:
add-product-page-uifix-cart-calculationupdate-jewelry-api-endpoints
git fetch upstream
git checkout main
git merge upstream/main
git push origin main- Implement features
- Fix bugs
- Update documentation
- Enhance UI/UX
- Test thoroughly
git add .
git commit -m "Add engraving customization module
- Add engraving text field
- Add backend validation
- Update product detail UI"git push origin your-feature-branch-name- Go to your fork on GitHub
- Click Compare & pull request
- Write a clear title & description
- Link issues (e.g.,
Fixes #4) - Click Create pull request
git add .
git commit -m "Address review comments"
git push origin your-feature-branch-name- Short & descriptive
- One feature/fix per branch
- Use present tense
- Describe what & why
git fetch upstream
git checkout main
git merge upstream/main
git push origin maingit status
git log --oneline
git checkout branch
git checkout -b new-branch
git diff
git reset --soft HEAD~1
git reset --hard HEAD~1
git remote -v
git fetch upstream
git merge upstream/main- Open conflicting files
- Remove Git conflict markers
- Keep final correct code
- Commit:
git add .
git commitgit fetch upstream
git checkout main
git reset --hard upstream/main
git push origin main --force⚠ This overwrites your main branch.