đ 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 main
git push origin main
âĄī¸ āϞā§āĻāĻžāϞ main
āĻŦā§āϰāĻžāĻā§āĻā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ origin
āϰāĻŋāĻŽā§āĻā§ āĻĒāĻžāĻ āĻžāĻŦā§āĨ¤
đ¯ āĻāĻĻāĻžāĻšāϰāĻŖāϏāĻš āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ: â
1. āĻĒā§āϰāĻĨāĻŽāĻŦāĻžāϰ āĻā§āĻĄ āĻĒā§āĻļ āĻāϰāĻž (āϝāĻāύ āϰāĻŋāĻŽā§āĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āύāϤā§āύ): â
git remote add origin https://github.com/username/project.git
git push -u origin main
git remote add origin https://github.com/username/project.git
git push -u origin main
âĄī¸ -u
āĻŽāĻžāύ⧠upstream āϏā§āĻ āĻāϰāĻž, āĻĒāϰāĻŦāϰā§āϤā§āϤ⧠āĻļā§āϧ⧠git push
āĻĻāĻŋāϞā§āĻ āĻāĻžāĻ āĻāϰāĻŦā§āĨ¤
2. āĻĒāϰ⧠āĻļā§āϧ⧠git push
āĻĻāĻŋāϞā§āĻ āĻšāĻŦā§: â
git push
git push
âĄī¸ āĻĒā§āϰā§āĻŦā§ upstream āϏā§āĻ āĻāϰāĻž āĻĨāĻžāĻāϞā§, āĻā§āύ āϰāĻŋāĻŽā§āĻ āĻ āĻŦā§āϰāĻžāĻā§āĻā§ āĻĒāĻžāĻ āĻžāĻŦā§ āϏā§āĻāĻž Git āĻāĻžāύā§āĨ¤
3. āύāϤā§āύ āĻŦā§āϰāĻžāĻā§āĻ āĻĒā§āĻļ āĻāϰāĻž: â
git checkout -b feature/login
git push -u origin feature/login
git checkout -b feature/login
git push -u origin feature/login
âĄī¸ āύāϤā§āύ feature/login
āĻŦā§āϰāĻžāĻā§āĻ āϰāĻŋāĻŽā§āĻā§ āϤā§āϰāĻŋ āĻšā§ā§ āϝāĻžāĻŦā§āĨ¤
4. Force push (āĻā§āĻŦ āϏāϤāϰā§āĻāĻāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ): â
git push --force
git push --force
âĄī¸ āϞā§āĻāĻžāϞā§āϰ āĻāϤāĻŋāĻšāĻžāϏ āϰāĻŋāĻŽā§āĻā§ āĻā§āϰ āĻāϰ⧠āĻŦāϏāĻŋā§ā§ āĻĻā§āĻŦā§āĨ¤ āĻ āύā§āϝāĻĻā§āϰ āĻāĻžāĻ āύāώā§āĻ āĻšāϤ⧠āĻĒāĻžāϰā§, āϏāĻžāĻŦāϧāĻžāύ!
5. āĻļā§āϧ⧠āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻŦā§āϰāĻžāĻā§āĻ āĻĒā§āĻļ āĻāϰāĻž: â
git push origin my-branch
git push origin my-branch
âĄī¸ my-branch
āĻļā§āϧ⧠āϰāĻŋāĻŽā§āĻā§ āĻĒāĻžāĻ āĻžāĻŦā§, āĻ
āύā§āϝ āĻŦā§āϰāĻžāĻā§āĻ āύā§āĨ¤
6. āϏāĻŦ āĻŦā§āϰāĻžāĻā§āĻ āĻāĻāϏāĻžāĻĨā§ āĻĒā§āĻļ āĻāϰāĻž: â
git push --all origin
git push --all origin
âĄī¸ āϞā§āĻāĻžāϞā§āϰ āϏāĻŦ āĻŦā§āϰāĻžāĻā§āĻ origin
-āĻ āĻĒāĻžāĻ āĻžāĻŦā§āĨ¤
7. āĻā§āϝāĻžāĻ āĻĒā§āĻļ āĻāϰāĻž: â
git tag v1.0
git push origin v1.0
git tag v1.0
git push origin v1.0
âĄī¸ v1.0
āĻā§āϝāĻžāĻ āĻĒā§āĻļ āĻšāĻŦā§āĨ¤
āĻ āĻĨāĻŦāĻž āϏāĻŦ āĻā§āϝāĻžāĻ āĻāĻāϏāĻžāĻĨā§:
git push origin --tags
git push origin --tags
8. āϰāĻŋāĻŽā§āĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āĻĨā§āĻā§ āĻŦā§āϰāĻžāĻā§āĻ āĻŽā§āĻā§ āĻĻā§āĻā§āĻž: â
git push origin --delete feature/login
git push origin --delete feature/login
âĄī¸ āϰāĻŋāĻŽā§āĻ āĻĨā§āĻā§ feature/login
āĻŦā§āϰāĻžāĻā§āĻ āĻŽā§āĻā§ āϝāĻžāĻŦā§āĨ¤
9. SSH āĻĻāĻŋā§ā§ āĻĒā§āĻļ āĻāϰāĻž: â
git push git@github.com:username/project.git
git push git@github.com:username/project.git
âĄī¸ SSH āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž āĻĨāĻžāĻāϞ⧠āĻāĻāĻŋ āĻĒāĻžāϏāĻā§āĻžāϰā§āĻĄ āĻāĻžā§āĻžāĻ āĻāĻžāĻ āĻāϰāĻŦā§āĨ¤
10. Upstream āϰāĻŋāĻŽā§āĻ āĻŦā§āϰāĻžāĻā§āĻ āĻā§āĻ āĻāϰāĻž: â
git branch -vv
git 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-stuff
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-stuff
â āĻāĻŋāĻā§ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋ: â
â Situation 1: āĻāĻĒāύāĻŋ Laravel āĻĒā§āϰāĻā§āĻā§āĻā§ āĻāĻžāĻ āĻāϰāĻā§āύ â
git push origin develop
git push origin develop
â Situation 2: āĻāĻĒāύāĻžāϰ āĻāĻŋāĻŽāϞāĻŋāĻĄ āύāϤā§āύ āĻŦā§āϰāĻžāĻā§āĻ āĻāĻžāĻāϞ⧠â
git checkout -b feature/invoice-generator
git push -u origin feature/invoice-generator
git checkout -b feature/invoice-generator
git push -u origin feature/invoice-generator
â Situation 3: Pull Request āĻāϰ āĻāĻā§ force-push āĻĻāϰāĻāĻžāϰ āĻĒā§āϞ â
git commit --amend
git push --force
git commit --amend
git push --force
đ āĻāĻĒāϏāĻāĻšāĻžāϰ â
git push
āĻāĻžā§āĻž āϰāĻŋāĻŽā§āĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āĻāĻĒāĻĄā§āĻ āĻšā§ āύāĻžāĨ¤ āĻāĻĒāύāĻŋ āϝāϤāĻŦāĻžāϰ commit
āĻāϰā§āύ, āϤāϤāĻŦāĻžāϰ āĻāĻĒāύāĻžāϰ āĻā§āĻĄ āĻļā§āϧ⧠āϞā§āĻāĻžāϞā§āĻ āĻĨāĻžāĻā§āĨ¤ āĻ
āύā§āϝāĻĻā§āϰ āϏāĻžāĻĨā§ āĻļā§ā§āĻžāϰ āĻāϰāϤ⧠āĻŦāĻž production-āĻ āύāĻŋāϤ⧠āĻšāϞ⧠git push
āĻ
āĻŦāĻļā§āϝāĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āϤāĻŦā§ āϏāϤāϰā§āĻ āĻĨāĻžāĻāϤ⧠āĻšāĻŦā§, āĻŦāĻŋāĻļā§āώ āĻāϰ⧠--force
āĻŦā§āϝāĻŦāĻšāĻžāϰā§āĨ¤