đ git pull
āĻāĻŽāĻžāύā§āĻĄ â
git pull
āĻāĻŽāĻžāύā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšā§ āϰāĻŋāĻŽā§āĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āĻĨā§āĻā§ āϏāϰā§āĻŦāĻļā§āώ āĻāĻĒāĻĄā§āĻāĻā§āϞ⧠āϞā§āĻāĻžāϞ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋāϤ⧠āĻāύāĻžāϰ āĻāύā§āϝāĨ¤ āĻāĻāĻŋ āĻŽā§āϞāϤ āĻĻā§āĻāĻāĻŋ āϧāĻžāĻĒ āĻāĻāϏāĻžāĻĨā§ āĻāϰā§:
git fetch
â āϰāĻŋāĻŽā§āĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋāϰ āĻāĻĒāĻĄā§āĻ āĻāύā§āĨ¤git merge
â āĻĢā§āĻ āĻāϰāĻž āĻāĻĒāĻĄā§āĻ āϞā§āĻāĻžāϞ āĻŦā§āϰāĻžāĻā§āĻā§ āĻŽāĻžāϰā§āĻ āĻāϰā§āĨ¤
đ git pull
āĻāĻŽāĻžāύā§āĻĄā§āϰ āϏāĻžāϧāĻžāϰāĻŖ āĻāĻ āύ: â
git pull <remote> <branch>
git pull <remote> <branch>
remote
: āϏāĻžāϧāĻžāϰāĻŖāϤorigin
āĻšā§āĨ¤branch
: āĻāĻĒāύāĻŋ āϝā§āĻ āĻŦā§āϰāĻžāĻā§āĻ āĻĨā§āĻā§ āĻāĻĒāĻĄā§āĻ āĻāύāϤ⧠āĻāĻžāύ, āϝā§āĻŽāύmain
,master
,develop
āĻāϤā§āϝāĻžāĻĻāĻŋāĨ¤
â āϏāĻžāϧāĻžāϰāĻŖ āĻāĻĻāĻžāĻšāϰāĻŖ: â
1. āĻŦāϰā§āϤāĻŽāĻžāύ āĻŦā§āϰāĻžāĻā§āĻā§ āϰāĻŋāĻŽā§āĻ āĻĨā§āĻā§ āĻāĻĒāĻĄā§āĻ āĻāύāϤā§: â
git pull
git pull
âĄī¸ āĻāĻāĻŋ origin
āϰāĻŋāĻŽā§āĻ āĻĨā§āĻā§ āĻŦāϰā§āϤāĻŽāĻžāύ āĻŦā§āϰāĻžāĻā§āĻā§āϰ āϏāϰā§āĻŦāĻļā§āώ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāύāĻŦā§ āĻāĻŦāĻ āĻŽāĻžāϰā§āĻ āĻāϰāĻŦā§āĨ¤
2. āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϰāĻŋāĻŽā§āĻ āĻ āĻŦā§āϰāĻžāĻā§āĻ āĻĨā§āĻā§ āĻāĻĒāĻĄā§āĻ āĻāύāϤā§: â
git pull origin main
git pull origin main
âĄī¸ origin
āĻĨā§āĻā§ main
āĻŦā§āϰāĻžāĻā§āĻ āĻĢā§āĻ āĻāĻŦāĻ āĻŽāĻžāϰā§āĻ āĻāϰāĻŦā§āĨ¤
3. git pull
āĻāϰāĻžāϰ āĻāĻā§ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āϏā§āĻ āύāĻž āĻāϰāϞ⧠āĻā§ āĻšā§? â
āĻāĻĒāύāĻžāϰ āϞā§āĻāĻžāϞ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋāϤ⧠āϝāĻĻāĻŋ āĻā§āύ⧠āĻāĻŽāĻŋāĻ āύāĻž āĻāϰāĻž āĻĒāϰāĻŋāĻŦāϰā§āϤāύ (uncommitted changes) āĻĨāĻžāĻā§, āϤāĻŦā§ git pull
āĻāϰāĻžāϰ āϏāĻŽā§ āĻŽāĻžāϰā§āĻ āĻāύāĻĢā§āϞāĻŋāĻā§āĻ āĻŦāĻž āĻāϰāϰ āĻāϏāϤ⧠āĻĒāĻžāϰā§:
error: Your local changes to the following files would be overwritten by merge:
error: Your local changes to the following files would be overwritten by merge:
âĄī¸ āϏāĻŽāĻžāϧāĻžāύ: āĻĒā§āϰāĻĨāĻŽā§ āĻā§āĻā§āĻāĻā§āϞ⧠commit
āĻāϰā§āύ āĻ
āĻĨāĻŦāĻž stash
āĻāϰā§āύ:
git stash
git pull
git stash pop
git stash
git pull
git stash pop
4. āĻāύāĻĢā§āϞāĻŋāĻā§āĻ āĻā§āĻžāϤ⧠āϰāĻŋāĻŦā§āĻāϏ āĻĻāĻŋā§ā§ pull
: â
git pull --rebase
git pull --rebase
âĄī¸ āĻāĻāĻŋ āĻŽāĻžāϰā§āĻ āύāĻž āĻāϰ⧠rebase
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϞā§āĻāĻžāϞ āĻāĻŽāĻŋāĻāĻā§āϞā§āĻā§ āϰāĻŋāĻŽā§āĻ āĻāĻĒāĻĄā§āĻā§āϰ āĻāĻĒāϰ āĻŦāϏāĻžā§āĨ¤
5. āĻļā§āϧ⧠āĻĢā§āĻ āĻāϰāĻž (pull āύā§): â
git fetch origin
git fetch origin
âĄī¸ āĻāĻāĻŋ āĻļā§āϧ⧠āĻāĻĒāĻĄā§āĻ āύāĻŋā§ā§ āĻāϏāĻŦā§, āĻāĻŋāύā§āϤ⧠āϞā§āĻāĻžāϞ āĻŦā§āϰāĻžāĻā§āĻā§ āĻŽāĻžāϰā§āĻ āĻāϰāĻŦā§ āύāĻžāĨ¤
6. āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻŦā§āϰāĻžāĻā§āĻ āĻ āύā§āϝ āϞā§āĻāĻžāϞ āĻŦā§āϰāĻžāĻā§āĻā§ āĻŽāĻžāϰā§āĻ āĻāϰāϤā§: â
git fetch origin
git checkout my-feature
git merge origin/main
git fetch origin
git checkout my-feature
git merge origin/main
âĄī¸ main
āĻŦā§āϰāĻžāĻā§āĻā§āϰ āĻāĻĒāĻĄā§āĻ my-feature
āĻŦā§āϰāĻžāĻā§āĻā§ āĻŽāĻžāϰā§āĻ āĻāϰāĻž āĻšāϞā§āĨ¤
7. āĻĄāĻŋāĻĢāϞā§āĻ Pull behavior āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻž: â
git config pull.rebase true
git config pull.rebase true
âĄī¸ āϏāĻŦāϏāĻŽā§ git pull
āĻāϰāϞ⧠--rebase
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻšāĻŦā§āĨ¤
8. āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻāĻžā§āĻž āϏāϰāĻžāϏāϰāĻŋ rebase
āĻĻāĻŋā§ā§ pull: â
git pull --rebase origin main
git pull --rebase origin main
âĄī¸ āĻāĻāĻŋ āϰāĻŋāĻŦā§āĻāϏ āĻāϰ⧠main
āĻŦā§āϰāĻžāĻā§āĻ āĻāĻĒāĻĄā§āĻ āĻāϰāĻŦā§āĨ¤
𧨠āϏāĻŽā§āĻāĻžāĻŦā§āϝ āϏāĻŽāϏā§āϝāĻž āĻ āϏāĻŽāĻžāϧāĻžāύ â
āϏāĻŽāϏā§āϝāĻž | āĻāĻžāϰāĻŖ | āϏāĻŽāĻžāϧāĻžāύ |
---|---|---|
Local changes would be overwritten | āĻāĻĒāύāĻŋ āĻā§āύ⧠āĻĢāĻžāĻāϞ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰā§āĻā§āύ āĻāĻŋāύā§āϤ⧠commit āĻāϰā§āύāύāĻŋ | git stash āĻĻāĻŋā§ā§ āĻā§āĻā§āĻāĻā§āϞ⧠āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύ |
Merge conflict | āϞā§āĻāĻžāϞ āĻ āϰāĻŋāĻŽā§āĻ āĻĢāĻžāĻāϞ⧠āĻāĻāĻ āϞāĻžāĻāύ⧠āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāĻā§ | āĻāύāĻĢā§āϞāĻŋāĻā§āĻ āĻŽā§āϝāĻžāύā§ā§āĻžāϞāĻŋ āĻ āĻŋāĻ āĻāϰ⧠git commit āĻāϰā§āύ |
Remote branch not found | āĻā§āϞ āĻŦā§āϰāĻžāĻā§āĻ āύāĻžāĻŽ āĻĻāĻŋā§ā§āĻā§āύ | git branch -r āĻĻāĻŋā§ā§ āϰāĻŋāĻŽā§āĻ āĻŦā§āϰāĻžāĻā§āĻ āϞāĻŋāϏā§āĻ āĻĻā§āĻā§āύ |
đ āϰāĻŋāĻŽā§āĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋāϰ āĻŦā§āϰāĻžāĻā§āĻ āϞāĻŋāϏā§āĻ āĻĻā§āĻāϤā§: â
git branch -r
git branch -r
âĄī¸ āĻāĻāĻŋ āϰāĻŋāĻŽā§āĻ āĻŦā§āϰāĻžāĻā§āĻāĻā§āϞ⧠āĻĻā§āĻāĻžā§, āϝā§āĻŽāύ:
origin/main
origin/dev
origin/feature/login
origin/main
origin/dev
origin/feature/login
đ§Ē āĻ āύā§āĻļā§āϞāύā§āϰ āĻāύā§āϝ āĻāĻŋāĻā§ āĻāĻŋāĻĒāϏ: â
- GitHub āĻĨā§āĻā§ āĻā§āύ⧠āĻĒāĻžāĻŦāϞāĻŋāĻ āĻĒā§āϰāĻā§āĻā§āĻ āĻā§āϞā§āύ āĻāϰā§āύāĨ¤
- āĻ
āύā§āϝ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ āĻĨā§āĻā§ āĻĢāĻžāĻāϞ āĻāĻĄāĻŋāĻ āĻāϰā§
git push
āĻāϰā§āύāĨ¤ - āϤāĻžāϰāĻĒāϰ āĻāĻĒāύāĻžāϰ āĻĒā§āϰāĻĨāĻŽ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ⧠āĻāϏā§
git pull
āĻĻāĻŋāύ āĻāĻŦāĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻĻā§āĻā§āύāĨ¤
đ§ āϏāĻāĻā§āώā§āĻĒā§ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āĻĒā§ā§āύā§āĻ â
āĻāĻžāĻ | āĻāĻŽāĻžāύā§āĻĄ |
---|---|
āϰāĻŋāĻŽā§āĻ āĻĨā§āĻā§ āĻāĻĒāĻĄā§āĻ āύāĻŋā§ā§ āϞā§āĻāĻžāϞ⧠āĻŽāĻžāϰā§āĻ | git pull |
āϰāĻŋāĻŦā§āĻāϏ āĻĻāĻŋā§ā§ āĻāĻĒāĻĄā§āĻ | git pull --rebase |
āĻļā§āϧ⧠āĻāĻĒāĻĄā§āĻ āĻĢā§āĻ | git fetch |
āĻŽāĻžāϰā§āĻ āĻāύāĻĢā§āϞāĻŋāĻā§āĻ āĻā§āĻžāϤ⧠| git stash āĻāĻā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ |
đ āĻāĻĒāϏāĻāĻšāĻžāϰ â
git pull
āĻāĻŽāύ āĻāĻāĻāĻŋ āĻāĻŽāĻžāύā§āĻĄ āϝāĻž āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ Git āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰāĻž āĻāĻāĻžāϧāĻŋāĻāĻŦāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āĻāĻāĻŋ āĻā§āĻĄ āĻāĻĒāĻĄā§āĻ āϰāĻžāĻāĻžāϰ āĻāύā§āϝ āĻ
āĻĒāϰāĻŋāĻšāĻžāϰā§āϝāĨ¤ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻŋāĻŽā§ āĻāĻžāĻ āĻāϰā§āύ, āϤāĻŦā§ pull
āύāĻŋā§āĻŽāĻŋāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻāĻāĻŋāϤ, āύāĻž āĻšāϞ⧠āĻŽāĻžāϰā§āĻ āĻāύāĻĢā§āϞāĻŋāĻā§āĻ āĻŦā§ā§ā§ āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤