Slide 1

Slide 1 text

Git : A Motivating introduction Jongwook Choi 2013. 10. 25.

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

A distributed version control system.

Slide 4

Slide 4 text

/bin/cp CVS Subversion Mercurial Git …

Slide 5

Slide 5 text

• GIT ਸ рۚೞѱ ࣗѐ೤פ׮. • ೐۽ં౟ীࢲ gitਸ ࢎਊ೧ࢲ ബҗ੸ੋ ੘সਸ ೡ ࣻ ੓঻ਵݶ જѷযਃ. • ஶࣆ, ࢎਊߨ, प੹ ੹ٜۚ ݽف… About this seminar.

Slide 6

Slide 6 text

• GIT ਸ рۚೞѱ ࣗѐ೤פ׮. • ೐۽ં౟ীࢲ gitਸ ࢎਊ೧ࢲ ബҗ੸ੋ ੘সਸ ೡ ࣻ ੓঻ਵݶ જѷযਃ. • ஶࣆ, ࢎਊߨ, प੹ ੹ٜۚ ݽف…ח ೡ ࣻ হযਃƕƕ About this seminar.

Slide 7

Slide 7 text

੉޷ ࣁ࢚ীח ݆ࣻ਷ git ҙ۲ ੑޙ ੗ܐٜ੉ ੓૑݅..

Slide 8

Slide 8 text

য۰ਕਃ ੍যب ੉೧о ੜ উоਃ

Slide 9

Slide 9 text

بҳܳ ରӔରӔ ߓ਋ӝীח दр੉ ݆੉ হযਃ -­‐-­‐ main porcelain command -­‐-­‐ add -­‐-­‐ add file contents to index am -­‐-­‐ apply patches from a mailbox archive -­‐-­‐ create archive of files from named tree bisect -­‐-­‐ find, by binary search, change that introduced a bug branch -­‐-­‐ list, create, or delete branches bundle -­‐-­‐ move objects and refs by archive checkout -­‐-­‐ checkout branch or paths to working tree cherry-­‐pick -­‐-­‐ apply changes introduced by some existing commits citool -­‐-­‐ graphical alternative to git commit clean -­‐-­‐ remove untracked files from working tree clone -­‐-­‐ clone repository into new directory commit -­‐-­‐ record changes to repository describe -­‐-­‐ show most recent tag that is reachable from a commit diff -­‐-­‐ show changes between commits, commit and working tree, etc. fetch -­‐-­‐ download objects and refs from another repository format-­‐patch -­‐-­‐ prepare patches for e-­‐mail submission gc -­‐-­‐ cleanup unnecessary files and optimize local repository grep -­‐-­‐ print lines matching a pattern gui -­‐-­‐ run portable graphical interface to git init -­‐-­‐ create empty git repository or re-­‐initialize an existing one log -­‐-­‐ show commit logs merge -­‐-­‐ join two or more development histories together mv -­‐-­‐ move or rename file, directory, or symlink notes -­‐-­‐ add or inspect object notes pull -­‐-­‐ fetch from and merge with another repository or local branch push -­‐-­‐ update remote refs along with associated objects rebase -­‐-­‐ fasforward-­‐port local commits to the updated upstream head reset -­‐-­‐ reset current HEAD to specified state revert -­‐-­‐ revert existing commits rm -­‐-­‐ remove files from the working tree and from the index shortlog -­‐-­‐ summarize git log output show -­‐-­‐ show various types of objects stash -­‐-­‐ stash away changes to dirty working directory status -­‐-­‐ show working-­‐tree status submodule -­‐-­‐ initialize, update, or inspect submodules tag -­‐-­‐ create, list, delete or verify tag object signed with GPG http://www.insightforums.com/ how-to-educate-your-customers-and-win-fans-for-life/

Slide 10

Slide 10 text

Ӓېࢲ ౚషܻ঴ ١ਸ ࠁ׮ औѱ ࣗചೞप ࣻ ੓ب۾, ׼੢ ೐۽ં౟ীࢲ gitਸ ইए਍ ؀۽ ࢎਊೡ ࣻ ੓ب۾ ӒܻҊ gitਸ ॳݶ ب؀୓ ޖ঺੉ જ਷૑ ӝמ ࠁױ ೨ब ѐ֛ ਤ઱۽ рۚ൤ ૝যࠁب۾ ೞѷणפ׮.

Slide 11

Slide 11 text

Core Concepts

Slide 12

Slide 12 text

੷੢ࣗ repository

Slide 13

Slide 13 text

੷੢ࣗ repository ߡ੹ҙܻ੄ ؀࢚੉ غח ஶబஎ/౵ੌٜ੉ ݽৈ ੓ח Ҕ

Slide 14

Slide 14 text

SVN਷ ੷੢ࣗо ࢲߡী ೞա ੓Ҋ

Slide 15

Slide 15 text

SVN਷ ੷੢ࣗо ࢲߡী ೞա ੓Ҋ ѐߊ੗о ੗न੄ PCী working copyܳ ղ۰߉ই ੘স೤פ׮.

Slide 16

Slide 16 text

Ӓؘ۠ Git਷ ੷੢ࣗо ղ ஹೊఠী ੓যਃ. ۽ஸ ੷੢ࣗ (local repository)

Slide 17

Slide 17 text

ഈসਸ ਤ೧ࢲח ਗѺ ੷੢ࣗ৬ ٮ ۽ زӝചೞח ੘স੉ ೙ਃ೧ਃ. ۽ஸ ੷੢ࣗ (local repository) ੘স ࢎࠄ (working copy) ਗѺ ੷੢ࣗ

Slide 18

Slide 18 text

੉ۧѱ ੷੢ࣗо ࠂઁغҊ ࠙࢑ػ ഋక۽ ઓ੤ೡ ࣻ ੓ӝ ٸޙী, DVCS (distributed VCS) ۄҊ ೧ਃ. http://nvie.com/posts/a-successful-git-branching-model/

Slide 19

Slide 19 text

য૰Ѣա, ੷੢ࣗח ‘൤झషܻ’ܳ ੷੢೤פ׮.

Slide 20

Slide 20 text

ழ޿ commit যڃ ೠ द੼ীࢲ੄ ੷੢ࣗ੄ झշࢫ. ੉۱ ߸҃੄ ױਤ

Slide 21

Slide 21 text

ழ޿ = झշࢫ

Slide 22

Slide 22 text

SVNীࢲח r1, r2, r3, … ੉ۧѱ ழ޿݃׮ ࣽର੸ਵ۽ ૐоೞח revision੉ ׳݀פ׮.

Slide 23

Slide 23 text

؀न, GITীࢲח ೞա੄ ழ޿੉ ܻ࠺੹ ߣഐ ؀न SHA-1 ೧ए ID۽ ध߹ؾפ׮.

Slide 24

Slide 24 text

Commit ID : SHA-1 Hash 2670d94c6abf07e787efcd1867fafc86f62b6fac ഒز੉ হ׮ݶ ࠁా খ 7~8Ӗ੗ܳ ٮࢲ ‘2670d94c’ ੉ۧѱ рױ൤ ࠗܰӝب ೧ਃ.

Slide 25

Slide 25 text

Ӓ۞ݶ ࣽࢲܳ যڌѱ ਬ૑ೡөਃ? ف ழ޿੉ ੓ਸ ٸ ־о ؊ ա઺ ߡ੹ੌөਃ?

Slide 26

Slide 26 text

commit਷ झշࢫਸ ನೣೞৈ ৈ۞о૑ ੿ࠁܳ ੷੢ೞחؘ ੉ ઺ ߄۽ ੹੄ commitਸ parent commitਵ۽ ੷੢೤פ׮.

Slide 27

Slide 27 text

ࠗݽ ழ޿ ੉ ழ޿੄ ؊ য়ېػ ழ޿

Slide 28

Slide 28 text

੉ۧѱ ழ޿ٜ੉ ݽৈ োѾܻझ౟৬ ਬࢎೞѱ ‘Ӓې೐’ܳ ੉ܖযࢲ historyܳ ਬ૑೤פ׮.

Slide 29

Slide 29 text

௏٬ਸ ೠ ٍ ߸҃ࢎ೦ਸ ੷੢(ழ޿)ೞݶ ࢜۽਍ ழ޿੉ ٜ݅য૘פ׮.

Slide 30

Slide 30 text

ੋؙझ index (stage area) അ੤ ழ޿ೞҊ੗ ೞח ղਊ(߸ച)ٜਸ ੷੢ೞח Ҕ http://marklodato.github.io/visual-git-guide/index-en.html

Slide 31

Slide 31 text

௏٘ীࢲ য়ఋܳ рױ൤ ࣻ੿ೞח ழ޿ਸ ୶о೤द׮. ী٣ఠܳ ৌয ௏٘ܳ ࣻ੿೤פ׮. git status : যڃ ౵ੌ੉ ߸҃غ঻ח૑ ੿ࠁܳ ࠁৈસפ׮.

Slide 32

Slide 32 text

ழ޿ೡ ղਊ(ژח ౵ੌ)ਸ stage ৔৉ী ୶о೤פ׮. (git add README.md) README.md ܳ ழ޿ೡ ળ࠺о غ঻णפ׮. other.txt ח ࣻ੿غ঻૑݅ ழ޿ೞ૑ ঋইਃ

Slide 33

Slide 33 text

ழ޿೤פ׮. (git commit)

Slide 34

Slide 34 text

ب؀୓ ੋؙझ ѐ֛਷ ৵ ੓ਸөਃ? • ਗೞח ࠗ࠙݅ਸ ழ޿ೞৈ, ೞա੄ ழ޿਷ ة݀੸ੋ ೞ ա੄ ߸ച݅ਸ ನೣ೧ঠ ೠ׮ח ߡ੹ ҙܻ੄ ਗ஗ਸ ૑ఆ ࣻ ੓ب۾ ب৬સפ׮. Issue #1: Implement an add function. http://www.mfranc.com/uncategorized/git-git-gui-staging-selected-lines/

Slide 35

Slide 35 text

ب؀୓ ੋؙझ ѐ֛਷ ৵ ੓ਸөਃ? ௏٘ܳ ࣻ੿ೞ׮ࠁݶ э੉ ࣻ੿਷ ೮חؘ ࠗٙ੉ೞѱ ૑Ә ழ޿ೞӝח Ҍۆೠ ੌٜ੉ ࢤӡ ࣻ ੓যਃ. ݅ড SVN੉঻׮ݶ, - അ੤ ౵ੌਸ য٣ ׮ܲ Ҕী ੐द ߔস೧فҊ - commitೡ ࢚క۽ ౵ੌਸ ٜ݅যࢲ ழ޿ਸ ೠ ٍ - ׮द ߔস೧ك ౵ੌ۽ ࠂҳ೧ঠ ೡѢীਃ. ই ӈଳই…

Slide 36

Slide 36 text

ӈଳইਃ. ੋؙझܳ ࢤۚೞח Ѫب оמ೤פ׮. • git commit -a ݺ۸ਸ ࢎਊ೤פ׮. • TortoiseGIT ١੄ ੌࠗ ௿ۄ੉঱౟ח ੋؙझ ѐ֛੉ হযࢲ, SVN୊ۢ ߄۽ ߸҃ػ ౵ੌਸ ழ޿ೞب۾ ٜ݅য ְযਃ.

Slide 37

Slide 37 text

࠳ے஖ branches

Slide 38

Slide 38 text

Git੄ ୭؀ ੢੼਷, ࠳ے஖ ো࢑੉ ݒ਋ ੗ਬ܂׮ח Ѫੑפ׮.

Slide 39

Slide 39 text

࠳ے஖ branches ੷੢ࣗ ੉۱੄ ࢲ۽ ׮ܲ тې ژח ࠙ӝ. • ই૒ ৮ܐغ૑ ঋ਷ ӝמ੉ۄࢲ main ઴ӝী ߈৔ೞӝח ખ Ӓؘ۠ ழ޿җ ੉۱ ҙܻח ೧ ঠೡ ٸ • 1.3 ߡ੹ ѐߊ੉ ૓೯઺ੋؘ ц੗ӝ 1.2 ߡ੹ ীࢲ ߊѼػ ߡӒܳ ೥೗झ ೧ঠೡ ٸ • ف ݺ੄ ѐߊ੗о ࢲ۽ ׮ܲ ӝמਸ زदী ة݀੸ਵ۽ ѐߊೞҊ रਸ ٸ • …

Slide 40

Slide 40 text

SVNীࢲח ٣۩షܻܳ ా૩۽ ࠂࢎೞৈ ֤ܻ੸ਵ۽ ࠳ ے஖ܳ ਍৔ೡ ࣻ ੓঻णפ׮. http://www.snipe.net/2009/03/getting-started-with-subversion-part-two/

Slide 41

Slide 41 text

merge? ૑ৠ੉ ٮ۽ হणפ׮.

Slide 42

Slide 42 text

master ࠳ے஖ testing ࠳ے஖ GITীࢲ, ࠳ے஖ח ױࣽ൤ যڃ ழ޿ਸ оܻఃח ੉ܴ (named reference) ੑפ׮.

Slide 43

Slide 43 text

master ࠳ے஖ п ࠳ے஖ীࢲ ੘সೡ ٸ, ழ޿ਸ ୶оೞৈ ة݀ػ ੉۱ਸ ٜ݅ ࣻ ੓Ҋ ࠳ے஖ܳ ੗ਬ܂ѱ ৳׮щ׮ೡ ࣻ ੓যਃ. HEADח അ੤ working copy੄ baseо غח ழ޿੉ա ࠳ے஖ܳ ੄޷೤פ׮. (git checkout)

Slide 44

Slide 44 text

࠳ے஖ ݠ૑(merge)ೞӝ. hotfix ࠳ے஖੄ ߸҃ղ৉ਸ master ࠳ے஖ী merge೤द׮. (master)$ git merge hotfix

Slide 45

Slide 45 text

masterо hotfix੄ ઑ࢚੉޲۽, master࠳ے஖੄ ನੋఠ݅ খਵ۽ ৤ӝݶ ؾפ׮. (fast-forward)

Slide 46

Slide 46 text

iss53 ࠳ے஖੄ ߸҃ղ৉ਸ master ࠳ے஖ী merge೤द׮. (master)$ git merge iss53 উغਗ਼ই?

Slide 47

Slide 47 text

੉ٸח ف ࠳ے஖о оܻఃח ழ޿੄ ҕా ઑ࢚ਸ ଺ই masterী ೤஖ח Ѣীਃ

Slide 48

Slide 48 text

੉ٸח ف ࠳ے஖о оܻఃח ழ޿੄ ҕా ઑ࢚ਸ ଺ই ࢜۽਍ ழ޿(merge commit)ਸ ٟ݅פ׮. (non-fast-forward) master ࠳ے஖о оܻఃח ழ޿੉ খਵ۽ ੉ز೤פ׮. ݠ૑ ழ޿

Slide 49

Slide 49 text

੉۠ merge commitٜ਷ ل ੉࢚੄ ࠗݽ ழ޿ਸ ыणפ׮.

Slide 50

Slide 50 text

൤झషܻܳ ࠌਸ ٸب ࠳ے஖о ঱ઁ ࡟যա৬ࢲ ঱ઁ য٣۽ ݠ૑غ঻ח૑о ݺഛೞѱ թणפ׮. (੉۱ ୶੸ਸ ਤ೧ blame ೧ࠁݶ पઁ۽ ߸҃ػ द੼ਸ ଺ਸ ࣻ ੓য ಞܻ೤פ׮) Merge branch ‘iss53’ into ‘master’

Slide 51

Slide 51 text

ೠо૑ ઺ਃೠ ੌ੉ թওणפ׮. ੉ઁԈ ۽ஸী ੘সೠ ղਊٜਸ ࢲߡী সؘ੉౟ೞѢա, թ ٜҗ ௏٘ܳ ҕਬೞҊ रणפ׮.

Slide 52

Slide 52 text

GIT ࢲߡ ੷੢ࣗ (remote repository) ղ ੷੢ࣗ git.mycompnay.com/project-­‐a/test-­‐repo.git

Slide 53

Slide 53 text

п ѐߊ੗ח ઺ঔ ੷੢ࣗܳ cloneೠ ࢎࠄੋ ۽ஸ ੷੢ࣗ(local repository)ীࢲ ੘স೤פ׮. git clone GIT ࢲߡ ੷੢ࣗ (remote repository) git.mycompany.com/project-­‐a/test-­‐repo.git git clone git.mycompany.com/project-­‐a/test-­‐repo.git

Slide 54

Slide 54 text

GIT ࢲߡ ੷੢ࣗ (remote repository) ੉ ٸ, ਗѺ ੷੢ࣗ(origin)ী ઓ੤ೞח ࠳ے஖ٜਸ ਗѺ ࠳ے஖(remote branch)ۄҊ ࠗܰҊ, ҳ߹ೞӝ ਤ೧ ۽ஸ ੷੢ࣗ੄ ࠳ے஖ܳ local branchۄҊ ࠗܵפ׮. ‘origin/master’ ١੄ ੉ܴਵ۽ ࠳ے஖ܳ աఋշפ׮.

Slide 55

Slide 55 text

੉ઁ ݻ о૑ ੘সਸ ૓೯೧ࢲ ழ޿ਸ ୶о೤פ׮. GIT ࢲߡ ੷੢ࣗ (remote repository) git.mycompany.com/project-­‐a/test-­‐repo.git

Slide 56

Slide 56 text

যڃ ࠳ے஖ܳ ਗѺ ੷੢ࣗী ৢܻח Ѫਸ ಹद(push)ۄҊ ೤פ׮. GIT ࢲߡ ੷੢ࣗ (remote repository) git push origin master git.mycompany.com/project-­‐a/test-­‐repo.git

Slide 57

Slide 57 text

࢜۽ ୶оೠ ழ޿ٜ੉ ਗѺ ੷੢ࣗীب ୶оغҊ, ਗѺ ੷੢ࣗ੄ master ࠳ے஖о খਵ۽ ੉ز೤פ׮. git push origin master

Slide 58

Slide 58 text

߈؀۽ ׮ܲ ࢎۈ੉ ੘সೠ Ѫਸ ߉ইৢ ࣻب ੓णפ׮. (fetch) git.mycompany.com/project-­‐a/test-­‐repo.git git fetch origin

Slide 59

Slide 59 text

઺ঔ GIT ੷੢ࣗ ࢲߡ git fetch origin git.mycompany.com/project-­‐a/test-­‐repo.git ਗѺ ੷੢ࣗী ੓ח ழ޿ٜҗ ࠳ے஖ܳ оઉয়Ҋ, origin/master ١੄ remote branchо ੉ز(زӝച)ؾפ׮. ੉ ٸ ۽ஸ ࠳ے஖ח ߸ചೞ૑ ঋওणפ׮.

Slide 60

Slide 60 text

݃૑݄ਵ۽ masterী origin/masterܳ merge ೞݶ ؾפ׮. (੉ ٸח merge commitਸ ٜ݅૑ ঋח fast-forwardܳ ೤פ׮)

Slide 61

Slide 61 text

Ӓؘ۠, ա੄ ੘সਸ pushೞ۰Ҋ ೡ ٸ, ੉޷ թ੉ ݢ੷ push೮׮ݶ য়ܨо ߊࢤ೤פ׮. ݠܻо ই౵২פ׮.

Slide 62

Slide 62 text

઺ঔ GIT ੷੢ࣗ ࢲߡ Fast-forward о উغӝ ٸޙী pushо पಁ೤פ׮.

Slide 63

Slide 63 text

ਗѺ ੷੢ࣗী pushೞ۰ݶ, ࠳ے஖ܳ খਵ۽ ׼ӝח fast-forwardо оמ೧ঠ ೤פ׮. ׮ܲ ࢎۈٜ੉ ੘সೠ ղਊਸ ݢ੷ ߉ইঠ ೤פ׮. merge ա rebase ੘স੉ ೙ਃ೤פ׮.

Slide 64

Slide 64 text

઺ঔ GIT ੷੢ࣗ ࢲߡ git fetch

Slide 65

Slide 65 text

master ࠳ے஖ী, 'origin/master' ࠳ے஖ܳ merge೤פ׮. ੉Ѥ ۽ஸীࢲ ղо ݅ٚ ழ޿੉Ҋ ੉Ѥ ׮ܲ ࢎۈ੉ ݢ੷ ಹ दೠ ழ޿੉ীਃ

Slide 66

Slide 66 text

master ࠳ے஖ী, 'origin/master' ࠳ے஖ܳ merge೤פ׮. (git merge origin/master) ੉ ٸ, ࠁా ইې৬ э਷ ழ޿ ݫद૑о ٜ݅য૘פ׮. Merge remote-tracking branch ‘origin/master’ into ‘master’

Slide 67

Slide 67 text

੉ۧѱ ೤஖Ҋ դ ٍ, push ೞݶ ؾפ׮. ੉ઁ origin/master ࠳ے஖੄ ੑ੢ীࢲח fast-forwardо оמೞ޲۽ pushо ࢿҕ೤פ׮.

Slide 68

Slide 68 text

ࢲ۽ ׮ܲ ࢎۈ੉ زदী ழ޿ਸ ٜ݅ݶ ੗زਵ۽ ࠳ے஖о тۄ૘פ׮.

Slide 69

Slide 69 text

ޥо ࠂ੟ೠ Ѫ эইਃ. Fetch & Mergeܳ ೣԋ ೧઱ח Pull ݺ۸ب ੓णפ׮. Ӓ۞ա fast-forwardо উ غח ҃਋ ੄بೞ૑ ঋ਷ merge commit੉ ࢤѹߡܾ ࣻ ੓য ઑब೧ঠ ೤פ׮.

Slide 70

Slide 70 text

ӝמ੉ ա׊য૑ח ࠗ࠙੉ হযࢲ ౠ߹൤ ࠳ے஖о ೙ਃ হҊ ױࣽ൤ ௏٘ܳ ҕਬೞҊ र঻ਸ ࡺੋؘ, ॶؘহ੉ ࠂ੟ೠ ൤झషܻо ٜ݅য૕ ࣻ ੓যਃ. ൤झషܻܳ (SVN୊ۢ) ࢶഋਵ۽ ٜ݅ ࣻח হਸөਃ?

Slide 71

Slide 71 text

rebase baseܳ ࢜۽੉ ೞ׮ ࢎप ׮ࣗ য۰਍ ѐ֛ੌ ࣻ ੓૑݅, git੄ ૓оܳ ߊൃೞӝ ਤ೧ࢲ ݒ਋ ਬਊೠ ӝמੑפ׮.

Slide 72

Slide 72 text

rebase: master৬ origin/master੄ ੘স ղਊਸ ೤஖غ (ݠ૑ೞ૑ ঋҊ) fast-forwardо оמೞب۾ ٜ݅Ҋ रযਃ. ੉Ѥ ۽ஸীࢲ ղо ݅ٚ ழ޿੉Ҋ ੉Ѥ ׮ܲ ࢎۈ੉ ݢ੷ ಹ दೠ ழ޿੉ীਃ

Slide 73

Slide 73 text

ղо ୶о೮؍ ழ޿ਸ origin/master (fbff5) ٍ۽ ৤ӟ ׮਺ী..

Slide 74

Slide 74 text

ղо ୶о೮؍ ழ޿ਸ origin/master (fbff5) ٍ۽ ৤ӟ ׮਺ী master ࠳ے஖ܳ pushೞݶ fast-forwardо оמೞѷભ?

Slide 75

Slide 75 text

experiment ࠳ے஖ীࢲ ੘সೞҊ ੓Ҋ, ழ޿ C3਷ C2ীࢲ ࡟যա৳ যਃ. experimentܳ master۽ rebaseೞৈ, C3 ழ޿ਸ C4 ٍী׮о লҊ रणפ׮. ( (experiment)$ git rebase master ) Rebaseۆ, ࠳ے஖੄ baseܳ ৤ӣਵ۽ॄ ழ޿ ൤झషܻܳ ׮द ॳח ੘সੑפ׮. ખ ؊ ੗ࣁ൤ ࢓ಝࠁইਃ.

Slide 76

Slide 76 text

rebasing : experiment(C3)җ master(C4)੄ ҕాઑ࢚(C2)ਸ ଺ই, experiment ࠳ے஖ীࢲ C2 ੉റ੄ ழ޿җ زੌೠ ߸҃ղ৉ਸ ыח ழ޿ਸ master(C4)੄ ٍী ٜ݅য ׳Ҋ experiment ࠳ے஖ܳ ੉ز೤פ׮. experiment ࠳ے஖ܳ master ࠳ے஖ ਤী rebase ೤פ׮.

Slide 77

Slide 77 text

ৈӝࢲ C3' ਷ C3җח (߸҃ ղ৉җ ழ޿ ݫद૑ח э૑݅) ׮ܲ ࢜۽਍ ழ޿ੑפ׮.(SHA-1 ೧द IDо ׮ܰ׮)

Slide 78

Slide 78 text

• ҕా੼ : ف ࠳ے஖о ೤୛૓ ࢚క(ழ޿)ܳ ٜ݅যસפ׮. • merge – ࢜۽਍ merge commit ਸ ٜ݅غ, ӝઓ੄ commit ё୓ٜਸ Ѥܻ٘૑ ঋणפ׮. • Rebase – ӝઓ੄ ࣻ੿ ղਊ੉ ׸ӟ commitਸ‘ࠂઁ’೧ࢲ ׮ܲ ࢜۽਍ commiਸ ٜ݅যસפ׮. – ٮۄࢲ Historyܳ ੌ૒ࢶਵ۽ ӭՔೞѱ ਬ૑ೡ ࣻ ੓যਃ. • ੗ࣁೠ Ѥ ۨಌ۠झ ଵҊ ߂ ׮਺ী… rebase, merge ޖ঺੉ ׮ܲоਃ?

Slide 79

Slide 79 text

ޥ ࣗܽ૑ ੜ ݽܰदѷ׮ҳਃ? ই૒ pushೞ૑ ঋ਷ ழ޿੉ ੓חؘ, ੉޷ ࢲߡী ৢۄৡ ߸҃ղ৉ਸ ೤୛ঠ ೠ׮ݶ git pull --rebase ܳ ࢎਊೞݶ જणפ׮.

Slide 80

Slide 80 text

׮ܲ ࢎۈٜҗ ௏٘ ҕਬܳ ೞӝ ਤ೧ ৵੉ܻ ࠂ ੟ೠ җ੿ਸ Ѣ୛ঠ ೡөਃ?

Slide 81

Slide 81 text

੗, ૑Әө૑ gitਸ ࢎਊೞৈ ೐۽ં౟ܳ ૓೯ೞӝ ਤೠ ୭ࣗೠ੄ ӝࠄ ѐ֛ٜ݅ ࢓ಝ ࠁওযਃ.

Slide 82

Slide 82 text

ইऔѱب ؊ ಞܻೞҊ ъ۱ೠ ӝמٜী ؀ೠ ੉ঠӝח ই૒ ԁղ֬૑ب ޅ೮׹פ׮…(?)

Slide 83

Slide 83 text

ࢲߡী ৢܻ૑ ঋҊب, ۽ஸ ੷੢ࣗীࢲ ݃਺؀۽ प೷ೞҊ పझ౟ ೞҊ ৈ۞о૑ ੌਸ ೡ ࣻ ੓णפ׮. • ઺р/੐द ழ޿ਸ ݋؀۽ ೡ ࣻ ੓णפ׮. • ੘স੉ ৮ܐغݶ Ӓ ٸ ழ޿ਸ ೤஖Ҋ ׮ٞযࢲ ৢܾ ࣻ ੓णפ׮. • ٸ۽ח ৢܾ ೙ਃо হয૑ݶ Ӓր ߡ۰ب ؾפ׮.

Slide 84

Slide 84 text

ਬোೠWorkflow ߂ Code Review

Slide 85

Slide 85 text

Ӓېࢲ, ੉ઁ ަ যڌѱ ೧ঠ ೞաਃ? ੉ઁ ౚషܻ঴ਸ ࠁݶ ੉೧о ؾפ׮. ૒੽ ҳܰݶࢲ ރਵ۽ ੊൩פ׮.

Slide 86

Slide 86 text

Try Git : 15-minute introduction by github http://try.github.io

Slide 87

Slide 87 text

Atlassian’s Git Tutorials https://www.atlassian.com/git/tutorial/

Slide 88

Slide 88 text

Pro Git : the official book http://git-scm.com/book/ko http://dogfeet.github.io/progit/progit.ko.pdf 여기에 수록된 많은 git 관련 그림들은 pro-git (git-scm.com/book)에서 발췌했습니다.

Slide 89

Slide 89 text

Other References • Git 간편 안내서 • http://rogerdudler.github.io/git-guide/index.html • (KO) http://rogerdudler.github.io/git-guide/index.ko.html • A Visual Git Guide • http://marklodato.github.io/visual-git-guide/index-en.html • (KO) http://marklodato.github.io/visual-git-guide/index-ko.html • SVN 사용자를 위한 Crash Course • http://git.or.cz/course/svn.html • Interactively learn Git Branching • http://pcottle.github.io/learnGitBranching/

Slide 90

Slide 90 text

যڃ Git بҳ৬ ௿ۄ੉঱౟ܳ ࢎਊೞݶ ؼөਃ? • Git command-line shell • Editors (vim : fugitive.vim, Sublime text : SublimeGit) • IDE (Eclipse : EGit, IntelliJ IDEA : idea-git)

Slide 91

Slide 91 text

যڃ Git بҳ৬ ௿ۄ੉঱౟ܳ ࢎਊೞݶ ؼөਃ? TortoiseGit Atlassian SourceTree

Slide 92

Slide 92 text

Github and Bitbucket : Web Tools https://github.com https://bitbucket.org

Slide 93

Slide 93 text

੉Ѫ݅਷ ӝর೧ ઱ࣁਃ

Slide 94

Slide 94 text

commit = झշࢫ.

Slide 95

Slide 95 text

branch = commit ੄ ۨಌ۠झ Git਷ branchܳ ੸ӓ੸ਵ۽ ٜ݅Ҋ ഝਊೞח Ѫਸ જই೤פ׮.

Slide 96

Slide 96 text

merge, fetch, push

Slide 97

Slide 97 text

rebase : ழ޿ٜਸ ੤੿۳ೠ׮.

Slide 98

Slide 98 text

git push git pull --rebase

Slide 99

Slide 99 text

ӝഥо ػ׮ݶ ׮਺ दрীח, • ࢎਊೞݶ ਬਊೠ ৈ۞о૑ ݺ۸য৬ ౲ • Rebase۽ ੷੢ࣗ ੉۱ ઱ޖܰӝ • ഈস ઁ؀۽ ೞӝ : Workflow ߂ ࠳ے஖ ഝਊ ੹ۚ • ѐߊ੉ ইצ ׮ܲ ਊب۽ git ࢎਊೞӝ

Slide 100

Slide 100 text

THE END. Thank You