đ git push āĻāĻŽāĻžāύā§āĻĄ â
git push āĻšāϞ⧠Git-āĻāϰ āĻāĻāĻāĻŋ āĻŽā§āϞāĻŋāĻ āĻāĻŽāĻžāύā§āĻĄ āϝāĻž āĻāĻĒāύāĻžāϰ āϞā§āĻāĻžāϞ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤāύāĻā§āϞ⧠(commits) āϰāĻŋāĻŽā§āĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋāϤ⧠āĻĒāĻžāĻ āĻžāύā§āϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšā§āĨ¤ āĻ
āϰā§āĻĨāĻžā§ āĻāĻĒāύāĻŋ āϝāĻāύ āĻāĻĒāύāĻžāϰ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ⧠āĻā§āĻĄā§ āĻāĻžāĻ āĻāϰ⧠āĻāĻŽāĻŋāĻ āĻāϰā§āύ, āϤāĻāύ āϏā§āĻ āĻā§āĻĄ āĻ
āύā§āϝāĻĻā§āϰ āĻĻā§āĻāĻžāϤ⧠āĻŦāĻž āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤ⧠āϰāĻŋāĻŽā§āĻā§ āĻĒāĻžāĻ āĻžāϤ⧠āĻšā§ â git push āϏā§āĻ āĻāĻžāĻāĻāĻžāĻ āĻāϰā§āĨ¤
đ git push āĻāϰ āϏāĻžāϧāĻžāϰāĻŖ āĻāĻ āύ: â
git push <remote-name> <branch-name>git push <remote-name> <branch-name>remote-name: āϏāĻžāϧāĻžāϰāĻŖāϤorigināĻšā§āĨ¤branch-name: āĻāĻĒāύāĻŋ āĻā§āύ āĻŦā§āϰāĻžāĻā§āĻā§ āĻā§āĻĄ āĻĒāĻžāĻ āĻžāϤ⧠āĻāĻžāύ, āϝā§āĻŽāύmain,master,dev, āĻāϤā§āϝāĻžāĻĻāĻŋāĨ¤
â āϏāĻŦāĻā§ā§ā§ āϏāĻžāϧāĻžāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ: â
git push origin maingit push origin mainâĄī¸ āϞā§āĻāĻžāϞ main āĻŦā§āϰāĻžāĻā§āĻā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ origin āϰāĻŋāĻŽā§āĻā§ āĻĒāĻžāĻ āĻžāĻŦā§āĨ¤
đ¯ āĻāĻĻāĻžāĻšāϰāĻŖāϏāĻš āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ: â
1. āĻĒā§āϰāĻĨāĻŽāĻŦāĻžāϰ āĻā§āĻĄ āĻĒā§āĻļ āĻāϰāĻž (āϝāĻāύ āϰāĻŋāĻŽā§āĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āύāϤā§āύ): â
git remote add origin https://github.com/username/project.git
git push -u origin maingit remote add origin https://github.com/username/project.git
git push -u origin mainâĄī¸ -u āĻŽāĻžāύ⧠upstream āϏā§āĻ āĻāϰāĻž, āĻĒāϰāĻŦāϰā§āϤā§āϤ⧠āĻļā§āϧ⧠git push āĻĻāĻŋāϞā§āĻ āĻāĻžāĻ āĻāϰāĻŦā§āĨ¤
2. āĻĒāϰ⧠āĻļā§āϧ⧠git push āĻĻāĻŋāϞā§āĻ āĻšāĻŦā§: â
git pushgit pushâĄī¸ āĻĒā§āϰā§āĻŦā§ upstream āϏā§āĻ āĻāϰāĻž āĻĨāĻžāĻāϞā§, āĻā§āύ āϰāĻŋāĻŽā§āĻ āĻ āĻŦā§āϰāĻžāĻā§āĻā§ āĻĒāĻžāĻ āĻžāĻŦā§ āϏā§āĻāĻž Git āĻāĻžāύā§āĨ¤
3. āύāϤā§āύ āĻŦā§āϰāĻžāĻā§āĻ āĻĒā§āĻļ āĻāϰāĻž: â
git checkout -b feature/login
git push -u origin feature/logingit checkout -b feature/login
git push -u origin feature/loginâĄī¸ āύāϤā§āύ feature/login āĻŦā§āϰāĻžāĻā§āĻ āϰāĻŋāĻŽā§āĻā§ āϤā§āϰāĻŋ āĻšā§ā§ āϝāĻžāĻŦā§āĨ¤
4. Force push (āĻā§āĻŦ āϏāϤāϰā§āĻāĻāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ): â
git push --forcegit push --forceâĄī¸ āϞā§āĻāĻžāϞā§āϰ āĻāϤāĻŋāĻšāĻžāϏ āϰāĻŋāĻŽā§āĻā§ āĻā§āϰ āĻāϰ⧠āĻŦāϏāĻŋā§ā§ āĻĻā§āĻŦā§āĨ¤ āĻ āύā§āϝāĻĻā§āϰ āĻāĻžāĻ āύāώā§āĻ āĻšāϤ⧠āĻĒāĻžāϰā§, āϏāĻžāĻŦāϧāĻžāύ!
5. āĻļā§āϧ⧠āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻŦā§āϰāĻžāĻā§āĻ āĻĒā§āĻļ āĻāϰāĻž: â
git push origin my-branchgit push origin my-branchâĄī¸ my-branch āĻļā§āϧ⧠āϰāĻŋāĻŽā§āĻā§ āĻĒāĻžāĻ āĻžāĻŦā§, āĻ
āύā§āϝ āĻŦā§āϰāĻžāĻā§āĻ āύā§āĨ¤
6. āϏāĻŦ āĻŦā§āϰāĻžāĻā§āĻ āĻāĻāϏāĻžāĻĨā§ āĻĒā§āĻļ āĻāϰāĻž: â
git push --all origingit push --all originâĄī¸ āϞā§āĻāĻžāϞā§āϰ āϏāĻŦ āĻŦā§āϰāĻžāĻā§āĻ origin-āĻ āĻĒāĻžāĻ āĻžāĻŦā§āĨ¤
7. āĻā§āϝāĻžāĻ āĻĒā§āĻļ āĻāϰāĻž: â
git tag v1.0
git push origin v1.0git tag v1.0
git push origin v1.0âĄī¸ v1.0 āĻā§āϝāĻžāĻ āĻĒā§āĻļ āĻšāĻŦā§āĨ¤
āĻ āĻĨāĻŦāĻž āϏāĻŦ āĻā§āϝāĻžāĻ āĻāĻāϏāĻžāĻĨā§:
git push origin --tagsgit push origin --tags8. āϰāĻŋāĻŽā§āĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āĻĨā§āĻā§ āĻŦā§āϰāĻžāĻā§āĻ āĻŽā§āĻā§ āĻĻā§āĻā§āĻž: â
git push origin --delete feature/logingit push origin --delete feature/loginâĄī¸ āϰāĻŋāĻŽā§āĻ āĻĨā§āĻā§ feature/login āĻŦā§āϰāĻžāĻā§āĻ āĻŽā§āĻā§ āϝāĻžāĻŦā§āĨ¤
9. SSH āĻĻāĻŋā§ā§ āĻĒā§āĻļ āĻāϰāĻž: â
git push git@github.com:username/project.gitgit push git@github.com:username/project.gitâĄī¸ SSH āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž āĻĨāĻžāĻāϞ⧠āĻāĻāĻŋ āĻĒāĻžāϏāĻā§āĻžāϰā§āĻĄ āĻāĻžā§āĻžāĻ āĻāĻžāĻ āĻāϰāĻŦā§āĨ¤
10. Upstream āϰāĻŋāĻŽā§āĻ āĻŦā§āϰāĻžāĻā§āĻ āĻā§āĻ āĻāϰāĻž: â
git branch -vvgit branch -vvâĄī¸ āĻāĻĒāύāĻŋ āĻā§āύ āĻŦā§āϰāĻžāĻā§āĻ āĻĨā§āĻā§ āĻā§āύ āϰāĻŋāĻŽā§āĻā§ āĻĒā§āĻļ āĻāϰāĻā§āύ āϤāĻž āĻĻā§āĻāĻž āϝāĻžāĻŦā§āĨ¤
𧨠āϏāĻžāϧāĻžāϰāĻŖ āϏāĻŽāϏā§āϝāĻž āĻ āϏāĻŽāĻžāϧāĻžāύ: â
| āϏāĻŽāϏā§āϝāĻž | āĻāĻžāϰāĻŖ | āϏāĻŽāĻžāϧāĻžāύ |
|---|---|---|
rejected (non-fast-forward) | āϰāĻŋāĻŽā§āĻā§ āύāϤā§āύ āĻāĻĒāĻĄā§āĻ āĻāĻā§, āĻāĻĒāύāĻžāϰ āϞā§āĻāĻžāϞ āĻĒā§āϰāĻžāύ⧠| git pull --rebase āĻĻāĻŋā§ā§ āĻāĻĒāĻĄā§āĻ āĻāύā§āύ |
Permission denied | SSH key āĻŦāĻž token āϏāĻŽāϏā§āϝāĻž | SSH key āϝā§āĻā§āϤ āĻāϰā§āύ āĻŦāĻž token āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ |
remote: Repository not found. | URL āĻā§āϞ āĻŦāĻž āĻĒāĻžāϰāĻŽāĻŋāĻļāύ āύāĻžāĻ | āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ URL āĻ āĻŋāĻ āĻāĻā§ āĻāĻŋāύāĻž āϝāĻžāĻāĻžāĻ āĻāϰā§āύ |
đ§ āĻāĻŋāĻā§ āĻāĻžāĻā§āϰ āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻāĻā§āϰ (workflow): â
git clone <repo-url>
git checkout -b feature/new-stuff
<edit files>
git add .
git commit -m "Add new stuff"
git push -u origin feature/new-stuffgit clone <repo-url>
git checkout -b feature/new-stuff
<edit files>
git add .
git commit -m "Add new stuff"
git push -u origin feature/new-stuffâ āĻāĻŋāĻā§ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋ: â
â Situation 1: āĻāĻĒāύāĻŋ Laravel āĻĒā§āϰāĻā§āĻā§āĻā§ āĻāĻžāĻ āĻāϰāĻā§āύ â
git push origin developgit push origin developâ Situation 2: āĻāĻĒāύāĻžāϰ āĻāĻŋāĻŽāϞāĻŋāĻĄ āύāϤā§āύ āĻŦā§āϰāĻžāĻā§āĻ āĻāĻžāĻāϞ⧠â
git checkout -b feature/invoice-generator
git push -u origin feature/invoice-generatorgit checkout -b feature/invoice-generator
git push -u origin feature/invoice-generatorâ Situation 3: Pull Request āĻāϰ āĻāĻā§ force-push āĻĻāϰāĻāĻžāϰ āĻĒā§āϞ â
git commit --amend
git push --forcegit commit --amend
git push --forceđ āĻāĻĒāϏāĻāĻšāĻžāϰ â
git push āĻāĻžā§āĻž āϰāĻŋāĻŽā§āĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āĻāĻĒāĻĄā§āĻ āĻšā§ āύāĻžāĨ¤ āĻāĻĒāύāĻŋ āϝāϤāĻŦāĻžāϰ commit āĻāϰā§āύ, āϤāϤāĻŦāĻžāϰ āĻāĻĒāύāĻžāϰ āĻā§āĻĄ āĻļā§āϧ⧠āϞā§āĻāĻžāϞā§āĻ āĻĨāĻžāĻā§āĨ¤ āĻ
āύā§āϝāĻĻā§āϰ āϏāĻžāĻĨā§ āĻļā§ā§āĻžāϰ āĻāϰāϤ⧠āĻŦāĻž production-āĻ āύāĻŋāϤ⧠āĻšāϞ⧠git push āĻ
āĻŦāĻļā§āϝāĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āϤāĻŦā§ āϏāϤāϰā§āĻ āĻĨāĻžāĻāϤ⧠āĻšāĻŦā§, āĻŦāĻŋāĻļā§āώ āĻāϰ⧠--force āĻŦā§āϝāĻŦāĻšāĻžāϰā§āĨ¤