DEV Community

Ruhul Amin Sujon
Ruhul Amin Sujon

Posted on • Edited on

Git, GitHub, PR & Version Control Interview Questions in Bangla

đŸ”Ĩ Git, GitHub, PR & Version Control – Interview Questions (Bangla)


🔸 Version Control Basics

āĻĒā§āϰāĻļā§āύ ā§§: Version Control System (VCS) āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Version Control System āĻāĻŽāύ āĻāĻ•āϟāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āϝāĻž āϕ⧋āĻĄā§‡āϰ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ āχāϤāĻŋāĻšāĻžāϏ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻāĻ•āĻžāϧāĻŋāĻ• āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰāϕ⧇ āĻāĻ•āϏāĻžāĻĨ⧇ āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇āĨ¤


āĻĒā§āϰāĻļā§āύ ⧍: Version control āϕ⧇āύ āĻĻāϰāĻ•āĻžāϰ?

āωāĻ¤ā§āϤāϰ:

  • āϕ⧋āĻĄ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ āχāϤāĻŋāĻšāĻžāϏ āϏāĻ‚āϰāĻ•ā§āώāĻŖ
  • āϭ⧁āϞ āĻšāϞ⧇ āφāϗ⧇āϰ āĻ­āĻžāĻ°ā§āϏāύ⧇ āĻĢāĻŋāϰ⧇ āϝāĻžāĻ“ā§ŸāĻž
  • āĻāĻ•āĻžāϧāĻŋāĻ• āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰ āĻāĻ•āϏāĻžāĻĨ⧇ āĻ•āĻžāϜ āĻ•āϰāĻž
  • Conflict āϏāĻšāĻœā§‡ āĻŽā§āϝāĻžāύ⧇āϜ āĻ•āϰāĻž

āĻĒā§āϰāĻļā§āύ ā§Š: Version control āĻ›āĻžā§œāĻž āϕ⧀ āϏāĻŽāĻ¸ā§āϝāĻž āĻšā§Ÿ?

āωāĻ¤ā§āϤāϰ:

  • āϕ⧋āĻĄ overwrite āĻšā§Ÿā§‡ āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇
  • āϕ⧇ āϕ⧀ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧇āϛ⧇ āĻŦā§‹āĻāĻž āϝāĻžā§Ÿ āύāĻž
  • Backup āĻŦāĻž rollback āϏāĻŽā§āĻ­āĻŦ āĻšā§Ÿ āύāĻž

āĻĒā§āϰāĻļā§āύ ā§Ē: Centralized āĻ“ Distributed VCS āĻāϰ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ āϕ⧀?

āωāĻ¤ā§āϤāϰ:

  • Centralized: SVN
  • Distributed: Git
  • Git āĻ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ repository āϞ⧋āĻ•āĻžāϞ āĻŽā§‡āĻļāĻŋāύ⧇ āĻĨāĻžāϕ⧇

āĻĒā§āϰāĻļā§āύ ā§Ģ: Git āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Git āĻšāϞ⧋ āĻāĻ•āϟāĻŋ Distributed Version Control System āϝāĻž Linus Torvalds āϤ⧈āϰāĻŋ āĻ•āϰ⧇āϛ⧇āύāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Ŧ: Git āφāϰ GitHub āĻ•āĻŋ āĻāĻ• āϜāĻŋāύāĻŋāϏ?

āωāĻ¤ā§āϤāϰ:
āύāĻžāĨ¤

  • Git → version control tool
  • GitHub → Git repository hosting platform

āĻĒā§āϰāĻļā§āύ ā§­: GitHub āĻ›āĻžā§œāĻž āĻ•āĻŋ Git āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžā§Ÿ?

āωāĻ¤ā§āϤāϰ:
āĻšā§āϝāĻžāρ, āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āϞ⧋āĻ•āĻžāϞāĻ­āĻžāĻŦ⧇āĻ“ Git āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžā§ŸāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Ž: Repository āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Repository āĻšāϞ⧋ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ source code āĻ“ commit history āϏāĻ‚āϰāĻ•ā§āώāϪ⧇āϰ āϜāĻžā§ŸāĻ—āĻžāĨ¤


āĻĒā§āϰāĻļā§āύ ⧝: Local āĻ“ Remote repository āϕ⧀?

āωāĻ¤ā§āϤāϰ:

  • Local → āύāĻŋāĻœā§‡āϰ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ⧇
  • Remote → GitHub / GitLab āĻ

āĻĒā§āϰāĻļā§āύ ā§§ā§Ļ: Git workflow āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āϕ⧋āĻĄ āϞ⧇āĻ–āĻž → commit → push → pull request → review → merge


🔸 Basic Git Commands

āĻĒā§āϰāĻļā§āύ ā§§ā§§: git init āϕ⧀ āĻ•āϰ⧇?

āωāĻ¤ā§āϤāϰ:
āύāϤ⧁āύ Git repository āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĨ¤


āĻĒā§āϰāĻļā§āύ ⧧⧍: git clone āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Remote repository āϞ⧋āĻ•āĻžāϞ āĻŽā§‡āĻļāĻŋāύ⧇ āĻ•āĻĒāĻŋ āĻ•āϰ⧇āĨ¤


āĻĒā§āϰāĻļā§āύ ā§§ā§Š: git status āϕ⧀ āĻĻ⧇āĻ–āĻžā§Ÿ?

āωāĻ¤ā§āϤāϰ:
Working directory āĻ“ staging area āĻāϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĻ⧇āĻ–āĻžā§ŸāĨ¤


āĻĒā§āϰāĻļā§āύ ā§§ā§Ē: git add āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āĻĢāĻžāχāϞ staging area-āϤ⧇ āĻĒāĻžāĻ āĻžā§ŸāĨ¤


āĻĒā§āϰāĻļā§āύ ā§§ā§Ģ: git commit āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Staged āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ¸ā§āĻĨāĻžā§Ÿā§€āĻ­āĻžāĻŦ⧇ history-āϤ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧇āĨ¤


āĻĒā§āϰāĻļā§āύ ā§§ā§Ŧ: āĻ­āĻžāϞ⧋ commit message āϕ⧇āĻŽāύ āĻšāĻ“ā§ŸāĻž āωāϚāĻŋāϤ?

āωāĻ¤ā§āϤāϰ:

  • āϛ⧋āϟ
  • āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ
  • āĻ…āĻ°ā§āĻĨāĻŦā§‹āϧāĻ•

āωāĻĻāĻžāĻšāϰāĻŖ:

fix: login validation issue
Enter fullscreen mode Exit fullscreen mode

āĻĒā§āϰāĻļā§āύ ā§§ā§­: git log āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āϏāĻŦ commit history āĻĻ⧇āĻ–āĻžā§ŸāĨ¤


āĻĒā§āϰāĻļā§āύ ā§§ā§Ž: git diff āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ“ āφāϗ⧇āϰ commit āĻāϰ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ āĻĻ⧇āĻ–āĻžā§ŸāĨ¤


āĻĒā§āϰāĻļā§āύ ⧧⧝: git reset āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Commit āĻŦāĻž staging āĻŦāĻžāϤāĻŋāϞ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšā§ŸāĨ¤


āĻĒā§āϰāĻļā§āύ ⧍ā§Ļ: git revert āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āύāϤ⧁āύ commit āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āφāϗ⧇āϰ commit undo āĻ•āϰ⧇āĨ¤


🔸 Branch & Merge

āĻĒā§āϰāĻļā§āύ ⧍⧧: Branch āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Branch āĻšāϞ⧋ āĻŽā§‚āϞ āϕ⧋āĻĄ āĻĨ⧇āϕ⧇ āφāϞāĻžāĻĻāĻž āĻāĻ•āϟāĻŋ development lineāĨ¤


āĻĒā§āϰāĻļā§āύ ⧍⧍: Branch āϕ⧇āύ āĻĻāϰāĻ•āĻžāϰ?

āωāĻ¤ā§āϤāϰ:

  • Feature āφāϞāĻžāĻĻāĻž āĻ•āϰ⧇ āĻ•āĻžāϜ āĻ•āϰāĻž
  • Main branch āύāĻŋāϰāĻžāĻĒāĻĻ āϰāĻžāĻ–āĻž

āĻĒā§āϰāĻļā§āύ ā§¨ā§Š: Default branch āϕ⧋āύāϟāĻŋ?

āωāĻ¤ā§āϤāϰ:
āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ maināĨ¤


āĻĒā§āϰāĻļā§āύ ⧍ā§Ē: git checkout -b āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āύāϤ⧁āύ branch āϤ⧈āϰāĻŋ āĻ“ switch āĻ•āϰ⧇āĨ¤


āĻĒā§āϰāĻļā§āύ ⧍ā§Ģ: Merge āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āĻāĻ• branch-āĻāϰ āϕ⧋āĻĄ āĻ…āĻ¨ā§āϝ branch-āĻ āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻžāĨ¤


āĻĒā§āϰāĻļā§āύ ⧍ā§Ŧ: Merge conflict āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āĻāĻ•āχ āϞāĻžāχāύ⧇ āĻāĻ•āĻžāϧāĻŋāĻ• āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšāϞ⧇ conflict āĻšā§ŸāĨ¤


āĻĒā§āϰāĻļā§āύ ⧍⧭: Conflict āϕ⧀āĻ­āĻžāĻŦ⧇ resolve āĻ•āϰāĻž āĻšā§Ÿ?

āωāĻ¤ā§āϤāϰ:

  • āĻŽā§āϝāĻžāύ⧁⧟āĻžāϞāĻŋ āϕ⧋āĻĄ āĻ āĻŋāĻ• āĻ•āϰāĻž
  • āĻĒ⧁āύāϰāĻžā§Ÿ commit āĻ•āϰāĻž

āĻĒā§āϰāĻļā§āύ ā§¨ā§Ž: Fast-forward merge āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āϝāĻ–āύ main branch āĻ āύāϤ⧁āύ commit āύāĻž āĻĨāĻžāϕ⧇āĨ¤


āĻĒā§āϰāĻļā§āύ ⧍⧝: Rebase āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Commit history āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻ•āϰāĻžāϰ āĻĒāĻĻā§āϧāϤāĻŋāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Šā§Ļ: Cherry-pick āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻāĻ•āϟāĻŋ commit āĻ…āĻ¨ā§āϝ branch-āĻ āύ⧇āĻ“ā§ŸāĻžāĨ¤


🔸 GitHub & Pull Request

āĻĒā§āϰāĻļā§āύ ā§Šā§§: Remote repository āϕ⧀?

āωāĻ¤ā§āϤāϰ:
GitHub āĻŦāĻž GitLab āĻ āĻĨāĻžāĻ•āĻž repositoryāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Šā§¨: origin āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Remote repository āĻāϰ default āύāĻžāĻŽāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Šā§Š: git push āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Local commit remote āĻ āĻĒāĻžāĻ āĻžā§ŸāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Šā§Ē: git pull āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Remote āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āύāĻŋā§Ÿā§‡ āĻāϏ⧇ merge āĻ•āϰ⧇āĨ¤


āĻĒā§āϰāĻļā§āύ ā§Šā§Ģ: git fetch āĻ“ git pull āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ āϕ⧀?

āωāĻ¤ā§āϤāϰ:

  • fetch → āĻļ⧁āϧ⧁ āĻĄāĻžāϟāĻž āφāύ⧇
  • pull → āφāύ⧇ + merge āĻ•āϰ⧇

āĻĒā§āϰāĻļā§āύ ā§Šā§Ŧ: Fork āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āĻ…āĻ¨ā§āϝ⧇āϰ repository āύāĻŋāĻœā§‡āϰ GitHub āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āĻŸā§‡ āĻ•āĻĒāĻŋ āĻ•āϰāĻžāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Šā§­: Fork āϕ⧇āύ āĻĻāϰāĻ•āĻžāϰ?

āωāĻ¤ā§āϤāϰ:
Open-source contribution āĻāϰ āϜāĻ¨ā§āϝāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Šā§Ž: Pull Request (PR) āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āĻāĻ• branch-āĻāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ…āĻ¨ā§āϝ branch-āĻ āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻžāϰ āĻ…āύ⧁āϰ⧋āϧāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Šā§¯: PR āϕ⧇āύ āĻĻāϰāĻ•āĻžāϰ?

āωāĻ¤ā§āϤāϰ:

  • Code review
  • Bug āϧāϰāĻž
  • Team approval

āĻĒā§āϰāĻļā§āύ ā§Ēā§Ļ: PR workflow āϕ⧀?

āωāĻ¤ā§āϤāϰ:

feature → push → PR → review → merge
Enter fullscreen mode Exit fullscreen mode

āĻĒā§āϰāĻļā§āύ ā§Ēā§§: Code review āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āĻ…āĻ¨ā§āϝ āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž āϕ⧋āĻĄ āϝāĻžāϚāĻžāχāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Ē⧍: PR merge āĻāϰ āϧāϰāύ āĻ•ā§ŸāϟāĻŋ?

āωāĻ¤ā§āϤāϰ:

  • Merge commit
  • Squash merge
  • Rebase merge

āĻĒā§āϰāĻļā§āύ ā§Ēā§Š: Squash merge āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āĻāĻ•āĻžāϧāĻŋāĻ• commit āĻāĻ•āϟāĻŋāϤ⧇ āĻĒāϰāĻŋāĻŖāϤ āĻ•āϰāĻžāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Ēā§Ē: Draft PR āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āĻ•āĻžāϜ āϚāϞāĻŽāĻžāύ āĻ…āĻŦāĻ¸ā§āĻĨāĻžā§Ÿ āϤ⧈āϰāĻŋ āĻ•āϰāĻž PRāĨ¤


🔸 Laravel + Git

āĻĒā§āϰāĻļā§āύ ā§Ēā§Ģ: .gitignore āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āϝ⧇āϏāĻŦ āĻĢāĻžāχāϞ Git track āĻ•āϰāĻŦ⧇ āύāĻž āϏ⧇āϗ⧁āϞ⧋āϰ āϤāĻžāϞāĻŋāĻ•āĻžāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Ēā§Ŧ: Laravel āĻ āϕ⧋āύ āĻĢāĻžāχāϞ gitignore āĻ•āϰāĻž āĻšā§Ÿ?

āωāĻ¤ā§āϤāϰ:

.env
/vendor
/node_modules
/storage/*.log
Enter fullscreen mode Exit fullscreen mode

āĻĒā§āϰāĻļā§āύ ā§Ēā§­: .env āĻĢāĻžāχāϞ Git āĻ āϰāĻžāĻ–āĻž āĻšā§Ÿ āύāĻž āϕ⧇āύ?

āωāĻ¤ā§āϤāϰ:
āĻāϤ⧇ database password āĻ“ secret key āĻĨāĻžāϕ⧇āĨ¤


āĻĒā§āϰāĻļā§āύ ā§Ēā§Ž: Git stash āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āĻ…āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻžāϜ āϏāĻžāĻŽā§ŸāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āϞ⧁āĻ•āĻŋā§Ÿā§‡ āϰāĻžāĻ–āĻžāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Ē⧝: git stash pop āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Stash āĻ•āϰāĻž āĻ•āĻžāϜ āĻĢāĻŋāϰāĻŋā§Ÿā§‡ āφāύ⧇āĨ¤


āĻĒā§āϰāĻļā§āύ ā§Ģā§Ļ: Git tag āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Release version āϚāĻŋāĻšā§āύāĻŋāϤ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšā§ŸāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Ģā§§: Semantic versioning āϕ⧀?

āωāĻ¤ā§āϤāϰ:
MAJOR.MINOR.PATCH


āĻĒā§āϰāĻļā§āύ ā§Ģ⧍: Git hooks āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Commit āĻŦāĻž push āĻāϰ āφāϗ⧇ āĻ…āĻŸā§‹āĻŽā§‡āϟāĻŋāĻ• script āϚāĻžāϞāĻžāύ⧋āĨ¤


āĻĒā§āϰāĻļā§āύ ā§Ģā§Š: Hotfix branch āϕ⧀?

āωāĻ¤ā§āϤāϰ:
Production bug āĻĻā§āϰ⧁āϤ āĻ āĻŋāĻ• āĻ•āϰāĻžāϰ branchāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Ģā§Ē: Feature branch āϕ⧀?

āωāĻ¤ā§āϤāϰ:
āύāϤ⧁āύ feature āĻĄā§‡āϭ⧇āϞāĻĒ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ branchāĨ¤


āĻĒā§āϰāĻļā§āύ ā§Ģā§Ģ: Professional Git workflow āϕ⧇āĻŽāύ āĻšāĻ“ā§ŸāĻž āωāϚāĻŋāϤ?

āωāĻ¤ā§āϤāϰ:

  • main → production
  • develop → testing
  • feature/* → new feature
  • hotfix/* → urgent bug

āĻĒā§āϰāĻļā§āύ ā§Ģā§Ŧ: āĻ—āĻŋāϟ āĻ slash command āϕ⧇āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§Ÿ?

āωāĻ¤ā§āϤāϰ:

Git-āĻ "slash command" āĻŦāϞāϤ⧇ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ / āĻĻāĻŋā§Ÿā§‡ āĻļ⧁āϰ⧁ āĻšāĻ“ā§ŸāĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ āĻ•āĻĨāĻž āĻŦāϞ⧇āύ (āϝ⧇āĻŽāύ /rebase, /merge, /assign āχāĻ¤ā§āϝāĻžāĻĻāĻŋ), āϤāĻžāĻšāϞ⧇ āĻāϗ⧁āϞ⧋ Git āĻāϰ āĻŽā§‚āϞ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āύ⧟, āĻŦāϰāĻ‚ āĻāϗ⧁āϞ⧋ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻšā§Ÿ GitHub, GitLab, Bitbucket āχāĻ¤ā§āϝāĻžāĻĻāĻŋ platform-āĻāϰ issue, pull request, āĻāĻŦāĻ‚ comment āϏ⧇āĻ•āĻļāύ⧇ automation āĻŦāĻž bot trigger āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝāĨ¤


Slash Command āφāϏāϞ⧇ āϕ⧀?

Slash command āĻšāϞ⧋ / āĻĻāĻŋā§Ÿā§‡ āĻļ⧁āϰ⧁ āĻšāĻ“ā§ŸāĻž āĻŦāĻŋāĻļ⧇āώ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϝāĻž CI/CD tools āĻŦāĻž bots (āϝ⧇āĻŽāύ: GitHub Actions, GitLab CI/CD, GitHub bots) āĻŦ⧁āĻāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŦāĻ‚ āϕ⧋āύ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤


āĻŦā§āϝāĻŦāĻšāĻžāϰ āϕ⧋āĻĨāĻžā§Ÿ āĻšā§Ÿ:
1. GitHub / GitLab Pull Request āĻ

/rebase
/merge
/test
/retry
Enter fullscreen mode Exit fullscreen mode

āĻāχ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϗ⧁āϞ⧋ āĻ•āĻŽā§‡āĻ¨ā§āϟ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻĻāĻŋāϞ⧇ āϕ⧋āύ⧋ bot āĻŦāĻž GitHub Action āĻŸā§āϰāĻŋāĻ—āĻžāϰ āĻšā§ŸāĨ¤

2. Automation āĻ“ ChatOps āĻ

Slack āĻŦāĻž Discord-āĻāϰ āĻŽāϤ⧋ āĻšā§āϝāĻžāϟ āϟ⧁āϞ⧇ GitHub āĻŦāĻž GitLab āχāύāϟāĻŋāĻ—ā§āϰ⧇āĻŸā§‡āĻĄ āĻĨāĻžāĻ•āϞ⧇ /deploy āϟāĻžāχāĻĒ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡ āĻ…āĻŸā§‹ āĻĄāĻŋāĻĒā§āϞ⧟ āĻļ⧁āϰ⧁ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤


āωāĻĻāĻžāĻšāϰāĻŖ (GitHub context):

āϧāϰāĻž āϝāĻžāĻ• āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ Pull Request āĻ /rebase āϞāĻŋāϖ⧇ āĻ•āĻŽā§‡āĻ¨ā§āϟ āĻ•āϰāϞ⧇āύāĨ¤
āϝāĻĻāĻŋ āϏ⧇āĻ–āĻžāύ⧇ GitHub bot āϏ⧇āϟāφāĻĒ āĻ•āϰāĻž āĻĨāĻžāϕ⧇ āϝ⧇ /rebase āĻĻ⧇āĻ–āϞ⧇ git rebase āϚāĻžāϞāĻžāĻŦ⧇ — āϤāĻžāĻšāϞ⧇ āĻ“āχ āĻ•āĻžāϜāϟāĻŋ āĻ…āĻŸā§‹āĻŽā§‡āĻŸā§‡āĻĄāĻ­āĻžāĻŦ⧇ āĻšāĻŦ⧇āĨ¤


āϕ⧇āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§Ÿ?

  • Manual āĻ•āĻžāϜ āĻ•āĻŽāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ
  • CI/CD pipeline trigger āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ
  • Code review āĻŦāĻž merge process āĻĻā§āϰ⧁āϤ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ
  • ChatOps integration āĻāϰ āϜāĻ¨ā§āϝ

āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻĨāĻž:

āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ⧇ bot āĻŦāĻž CI/CD pipeline āĻ āĻāχ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϗ⧁āϞ⧋āϰ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āύāĻž āĻĨāĻžāϕ⧇, āϤāĻžāĻšāϞ⧇ /command āϟāĻžāχāĻĒ⧇āϰ āĻ•āĻŋāϛ⧁ āϞ⧇āĻ–āĻžāϰ āϕ⧋āύ⧋ āĻĒā§āϰāĻ­āĻžāĻŦ āĻĨāĻžāĻ•āĻŦ⧇ āύāĻžāĨ¤

āĻĒā§āϰāĻļā§āύ ā§Ģā§­: āĻ—āĻŋāϟ āĻ 2 āϜāύ āχāωāϜāĻžāϰ āĻāϰ āϕ⧋āĻĄ (⧍ āϟāĻž āφāϞāĻžāĻĻāĻž āĻŦā§āϰāĻžāĻžā§āϚ) āĻŽā§‡āχāύ āĻŦā§āϰāĻžāĻžā§āϚ āĻ āĻŽāĻžāĻ°ā§āϜ āĻ•āϰāĻŦā§‹ āĻ•āĻŋāĻ­āĻžāĻŦ⧇?

āωāĻ¤ā§āϤāϰ:

Git-āĻ āĻĻ⧁āχāϜāύ āχāωāϜāĻžāϰ⧇āϰ āϕ⧋āĻĄ (āϝāĻžāϰāĻž āĻĻ⧁āχāϟāĻŋ āφāϞāĻžāĻĻāĻž branch āĻ āĻ•āĻžāϜ āĻ•āϰ⧇āϛ⧇āύ) main branch āĻ merge āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āύāĻŋāĻšā§‡āϰ āϧāĻžāĻĒāϗ⧁āϞ⧋ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ:


āϧāϰ⧁āύ:

  • user1 āĻ•āĻžāϜ āĻ•āϰ⧇āϛ⧇āύ feature/user1-login āĻŦā§āϰāĻžāĻžā§āĻšā§‡
  • user2 āĻ•āĻžāϜ āĻ•āϰ⧇āϛ⧇āύ feature/user2-dashboard āĻŦā§āϰāĻžāĻžā§āĻšā§‡
  • āĻāĻ–āύ āφāĻĒāύāĻžāϕ⧇ āĻāχ āĻĻ⧁āχāϟāĻŋ āĻŦā§āϰāĻžāĻžā§āϚ main-āĻ merge āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤

Step by Step merging process:
1. āĻĒā§āϰāĻĨāĻŽā§‡ āφāĻĒāύāĻžāϰ āϞ⧋āĻ•āĻžāϞ āϰāĻŋāĻĒā§‹āϜāĻŋāϟāϰāĻŋ āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧁āύ

git fetch origin
Enter fullscreen mode Exit fullscreen mode

2. main āĻŦā§āϰāĻžāĻžā§āĻšā§‡ āϝāĻžāύ

git checkout main
Enter fullscreen mode Exit fullscreen mode

3. āϏāĻ°ā§āĻŦāĻļ⧇āώ āφāĻĒāĻĄā§‡āϟ āύāĻŋāύ

git pull origin main
Enter fullscreen mode Exit fullscreen mode

4. āĻĒā§āϰāĻĨāĻŽ āĻŦā§āϰāĻžāĻžā§āϚ āĻŽāĻžāĻ°ā§āϜ āĻ•āϰ⧁āύ

git merge feature/user1-login
Enter fullscreen mode Exit fullscreen mode

āϝāĻĻāĻŋ āĻ•āύāĻĢā§āϞāĻŋāĻ•ā§āϟ āύāĻž āĻĨāĻžāϕ⧇:

git push origin main
Enter fullscreen mode Exit fullscreen mode

āϝāĻĻāĻŋ āĻ•āύāĻĢā§āϞāĻŋāĻ•ā§āϟ āĻĨāĻžāϕ⧇:

  • āĻĢāĻžāχāϞāϗ⧁āϞ⧋ āĻ“āĻĒ⧇āύ āĻ•āϰ⧇ āĻ•āύāĻĢā§āϞāĻŋāĻ•ā§āϟ āĻŽā§āϝāĻžāύ⧁⧟āĻžāϞāĻŋ āĻ āĻŋāĻ• āĻ•āϰ⧁āύ
  • āϤāĻžāϰāĻĒāϰ:
git add .
git commit
git push origin main
Enter fullscreen mode Exit fullscreen mode

5. āĻāϰāĻĒāϰ āĻĻā§āĻŦāĻŋāĻ¤ā§€ā§Ÿ āĻŦā§āϰāĻžāĻžā§āϚ āĻŽāĻžāĻ°ā§āϜ āĻ•āϰ⧁āύ

git merge feature/user2-dashboard
Enter fullscreen mode Exit fullscreen mode

āφāĻŦāĻžāϰ āĻāĻ•āχāĻ­āĻžāĻŦ⧇:

  • āĻ•āύāĻĢā§āϞāĻŋāĻ•ā§āϟ āĻĨāĻžāĻ•āϞ⧇ āĻ āĻŋāĻ• āĻ•āϰ⧁āύ
  • āύāĻž āĻĨāĻžāĻ•āϞ⧇ āϏāϰāĻžāϏāϰāĻŋ push āĻ•āϰ⧁āύ:
git push origin main
Enter fullscreen mode Exit fullscreen mode

āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ­āĻžāĻŦ⧇ (Pull Request āĻĻāĻŋā§Ÿā§‡ Merge)

āϝāĻĻāĻŋ āφāĻĒāύāĻŋ GitHub / GitLab āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āύ, āϤāĻžāĻšāϞ⧇:

  1. feature/user1-login āĻĨ⧇āϕ⧇ Pull Request (PR) āϖ⧁āϞ⧁āύ → main āĻ merge āĻ•āϰ⧁āύ
  2. āĻāϰāĻĒāϰ feature/user2-dashboard āĻĨ⧇āϕ⧇ āφāϰ⧇āĻ•āϟāĻŋ PR āϖ⧁āϞ⧁āύ → main āĻ merge āĻ•āϰ⧁āύ

āĻāϤ⧇ Git āĻ¸ā§āĻŦ⧟āĻ‚āĻ•ā§āϰāĻŋ⧟āĻ­āĻžāĻŦ⧇ āĻ•āύāĻĢā§āϞāĻŋāĻ•ā§āϟ detect āĻ•āϰāĻŦ⧇ āĻāĻŦāĻ‚ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤


āωāĻĒāϏāĻ‚āĻšāĻžāϰ:

  • āĻĻ⧁āχāϟāĻŋ āĻŦā§āϰāĻžāĻžā§āϚ āφāϞāĻžāĻĻāĻžāĻ­āĻžāĻŦ⧇ main āĻ merge āĻ•āϰāϤ⧇ āĻšāĻŦ⧇, āĻāĻ•āĻŦāĻžāϰ⧇ āĻĻ⧁āĻŸā§‹ āύ⧟āĨ¤
  • āĻĒā§āϰāϤāĻŋāϟāĻŋ merge āĻāϰ āϏāĻŽā§Ÿ āĻ•āύāĻĢā§āϞāĻŋāĻ•ā§āϟ āφāϏāϞ⧇ āĻŽā§āϝāĻžāύ⧁⧟āĻžāϞāĻŋ resolve āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤
  • GitHub āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ Pull Request āĻ“ review process āϏāĻšāϜ āĻ•āϰ⧇ āĻĻā§‡ā§ŸāĨ¤

Top comments (0)