Skip to content

All our projects embrace the power of Git, and most find their home on Github. Let’s go through some default practices we follow.

Hands off the main branch, especially if the project is live. During development, opt for a dev branch or feature branches. Merge features into the project via a Pull Request and then bid farewell to the branch.

Repo names should always sport lowercase and employ kebab-case if containing multiple words. Peek at these examples:

  • Bad: https://www.luckymedia.dev, www.luckymedia.dev, LuckyMedia.dev, LuckyMedia
  • Good: luckymedia.dev, lucky-media

Initially, we juggle the main and dev branches during development. Once the project goes live, we shift gears to feature branch names.

There are no strict naming rules for feature branches, just ensure the name reflects the feature you’re working on. Use lowercase letters and hyphens.

  • Bad: feature/section, feature-develop, and a big no to feature
  • Good: feature-header, fix-responsive-issue, chore-dependency-updates

While working away on a feature or dev branch, you’ll have to commit code. No hard and fast rules here, but make sure your commit descriptions are meaningful.

  • Bad: wip, commit, changes, small change
  • Good: fixed responsive issue on header, updated dependencies, updated contact section

Once the feature is polished, create a pull request so another team member can review your work. Although we don’t impose strict code review policies, it’s wise to let a peer scrutinize your code. Keep these guidelines in mind:

  • Reflect your work in the Pull Request name.
  • Offer a concise description of the work you’ve done.
  • Feel free to ask a team member to review something specific.

Create a new git repo, commit, and push to Github.

Section titled “Create a new git repo, commit, and push to Github.”
Terminal window
git init
git add . && git commit -m "Initial commit"
## if your default is master, switch to main.
git branch -M main
git remote add origin https://github.com/lucky-media/repo-name.git
git push -u origin main
Terminal window
git switch -c branch-name

Remove all commit history and start afresh

Section titled “Remove all commit history and start afresh”
Terminal window
# clone the repo
git clone git@github.com:USERNAME/REPOSITORY.git
cd REPOSITORY
# remove all history locally
rm -rf .git
# create a new local repo
git init
# add everything
git add .
git commit -m "First commit"
# erase history on GitHub (irreversible)
git remote add origin git@github.com:USERNAME/REPOSITORY.git
git push -u --force origin main