{"id":6115,"date":"2023-06-23T00:18:11","date_gmt":"2023-06-22T15:18:11","guid":{"rendered":"\/blog\/?p=6115"},"modified":"2023-09-21T09:26:19","modified_gmt":"2023-09-21T00:26:19","slug":"git-%ea%b0%9c%eb%85%90-%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/hasu0707.duckdns.org\/blog\/?p=6115","title":{"rendered":"git \uac1c\ub150 \uc815\ub9ac"},"content":{"rendered":"\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\u25a0git \uae30\ubcf8 \ucee4\ub9e8\ub4dc \uc815\ub9ac\n  \u25a8\ucd08\uae30\ud654\n    git init : \ud604\uc7ac \ub514\ub809\ud1a0\ub9ac\ub97c git \uc800\uc7a5\uc18c\ub85c \ub9cc\ub4e4\uae30 (.git \uc0dd\uc131)\n    git init --bare --shared &lt;git dir> : Working Directory\ub97c \ub9cc\ub4e4\uc9c0 \uc54a\uace0, \uc5ec\ub7ec\uc0ac\ub78c\uc774 \uc791\uc5c5\ud560 \ub584 \uad8c\ud55c\uc744 \uc790\ub3d9\uc73c\ub85c \uc8fc\ub294 git \uc800\uc7a5\uc18c \ub9cc\ub4e4\uae30\n\n  \u25a8Staging Area\ub85c \ubcf4\ub0b4\uae30\n    git add . : \ud604\uc7ac \ub514\ub809\ud1a0\ub9ac\uc758 \ubaa8\ub4e0 \ub0b4\uc6a9\uc744 Staging Area(.git)\uc5d0 \ucd94\uac00\n    git add -A : Working Directory\uc758 \ubaa8\ub4e0 \ub0b4\uc6a9\uc744 Staging Area\uc5d0 \ucd94\uac00\n    git add -p : \ubcc0\uacbd\uc810\uc744 hunk \ub2e8\uc704\ub85c \ubcf4\uc5ec\uc8fc\uba74\uc11c \uc778\ud130\ub799\ud2f0\ube0c\ud558\uac8c Staging Area\uc5d0 \ucd94\uac00\n\n  \u25a8commit\n    git commit -m \"Add: test.py \ud30c\uc77c \ucd94\uac00\"\n\n  \u25a8\uc6d0\uaca9 \uc800\uc7a5\uc18c\uc5d0\uc11c \uac00\uc838\uc624\uae30\n    git fetch : \uc6d0\uaca9 \uc800\uc7a5\uc18c\uc758 \ubcc0\uacbd \ub0b4\uc6a9\uc744 \ud655\uc778\ud558\uae30\n    git pull origin master : \uc6d0\uaca9 \uc800\uc7a5\uc18c\uc758 \ubcc0\uacbd \ub0b4\uc6a9\uc744 \ud604\uc7ac \ub514\ub809\ud1a0\ub9ac\ub85c \uac00\uc838\uc624\uae30 (\uc6d0\uaca9 \uc11c\ubc84\u2192.git)\n    git clone : \uc6d0\uaca9 \uc800\uc7a5\uc18c\ub97c \ub85c\uceec \uc800\uc7a5\uc18c\ub85c \ubcf5\uc0ac\ud558\uc5ec \uc0c8\ub85c\uc6b4 \uc800\uc7a5\uc18c \uc0dd\uc131 (\uae30\uc874 commit \ub85c\uadf8 \uc5c6\uc74c)\n    git fork : \uc6d0\uaca9 \uc800\uc7a5\uc18c\ub97c \uc6d0\uaca9 \uc800\uc7a5\uc18c\uc5d0 \ubcf5\uc0ac\ubcf8 \uc0dd\uc131 (\uae30\uc874 commit \ub85c\uadf8 \uc788\uc74c)\n\n  \u25a8\uc6d0\uaca9 \uc800\uc7a5\uc18c\ub85c \ubcf4\ub0b4\uae30\n    git push : \ubcc0\uacbd \uc0ac\ud56d\uc744 \uc6d0\uaca9 \uc11c\ubc84\uc5d0 \uc5c5\ub85c\ub4dc (.git\u2192\uc6d0\uaca9 \uc11c\ubc84)\n\n  \u25a8\uc0c1\ud0dc \ud655\uc778\n    git status : \ud604\uc7ac \uc0c1\ud0dc \ud655\uc778\n    git log : \ub85c\uadf8 \ud655\uc778\n    git reflog : \ucee4\ubc0b \uc0ad\uc81c \ub85c\uadf8 \ud655\uc778\n    git log --oneline : \ucee4\ubc0b \ud788\uc2a4\ud1a0\ub9ac \uc870\ud68c (commit hash \ud655\uc778)\n    git remote -v : \ub9ac\ubaa8\ud2b8 \ud655\uc778\n\n  \u25a8\uc124\uc815\n    git config --global user.name \"git user\" : \uc0ac\uc6a9\uc790 \uc124\uc815\n    git config --global user.email \"gituser@git.com\" : \uc774\uba54\uc77c \uc124\uc815\n    git config --unset --global user.name : user.name \uc124\uc815 \uc0ad\uc81c\n    git remote add origin \"https:\/\/git:git@10.10.10.111\/sample_repo.git\"\n    git remote remove origin : origin \uc800\uc7a5\uc18c \uc0ad\uc81c\n    git remote -v : \uc6d0\uaca9 \uc800\uc7a5\uc18c \ud655\uc778\n    git config --list : \uc804\uccb4 \uc124\uc815 \ud655\uc778\n\n  \u25a8remote\n    git remote show origin : origin remote \uc0c1\uc138 \uc815\ubcf4 \ubcf4\uae30\n\n  \u25a8\ucd08\uae30\ud654\n    git init : \ud604\uc7ac \ub514\ub809\ud1a0\ub9ac\ub97c git \uc800\uc7a5\uc18c\ub85c \ub9cc\ub4e4\uae30 (.git \uc0dd\uc131)\n    git init --bare --shared &lt;git dir> : Working Directory\ub97c \ub9cc\ub4e4\uc9c0 \uc54a\uace0, \uc5ec\ub7ec\uc0ac\ub78c\uc774 \uc791\uc5c5\ud560 \ub584 \uad8c\ud55c\uc744 \uc790\ub3d9\uc73c\ub85c \uc8fc\ub294 git \uc800\uc7a5\uc18c \ub9cc\ub4e4\uae30\n\n  \u25a8\uc0ad\uc81c\n    git rm -f --cached &lt;\ud30c\uc77c\uba85>: \uc6d0\uaca9 \uc800\uc7a5\uc18c\uc5d0 \uc788\ub294 \ud30c\uc77c \uc0ad\uc81c ('*' \uac00\ub2a5)\n    git rm -f &lt;\ud30c\uc77c\uba85>: \uc6d0\uaca9 \uc800\uc7a5\uc18c\uc640 \ub85c\uceec \uc800\uc7a5\uc18c\uc5d0 \uc788\ub294 \ud30c\uc77c \uc0ad\uc81c\n\n  \u25a8commit\n    git commit -m \"message\" : \ucee4\ubc0b \uc0dd\uc131\n    git commit --amend -m \"\uc218\uc815\ub41c \uba54\uc2dc\uc9c0\" : \ucee4\ubc0b \uc0dd\uc131+\ucee4\ubc0b \uba54\uc138\uc9c0 \uc218\uc815\n    git commit --amend --no-edit : \ucee4\ubc0b \uc0dd\uc131+\uc124\uba85\uc740 \uc218\uc815\ud558\uc9c0 \uc54a\uc74c\n\n  \u25a8branch\n    git branch\n    git branch -vv : \ub85c\uceec \ubd84\uae30 \ube0c\ub79c\uce58 \ubaa9\ub85d \ubcf4\uae30\n    git branch &lt;branch> : \ube0c\ub79c\uce58 \uc0dd\uc131\n    git branch -b &lt;branch> : \ube0c\ub79c\uce58\ub97c \uc0dd\uc131\ud558\uace0 \ud574\ub2f9 \ube0c\ub79c\uce58\ub85c \ubc14\ub85c \uc774\ub3d9\n    git checkout &lt;branch> : \ube0c\ub79c\uce58 \uc774\ub3d9\n    git branch : \uc6d0\ud558\ub294 \ube0c\ub79c\uce58\ub85c \uc774\ub3d9\ud588\ub294\uc9c0 \ud655\uc778\n    git branch -a : \ubaa8\ub4e0 \ube0c\ub79c\uce58 \ud655\uc778\n    git branch -d &lt;branch> : \ube0c\ub79c\uce58 \uc0ad\uc81c\n    git branch -D &lt;branch> : \ube0c\ub79c\uce58 \uac15\uc81c \uc0ad\uc81c\n    git branch -rd &lt;remote>\/\ube0c\ub79c\uce58 \uc774\ub984> : \uc6d0\uaca9 \ucd94\uc801 \ube0c\ub79c\uce58 \uc0ad\uc81c\n    git push --delete &lt;remote> &lt;branch> : \uc6d0\uaca9\uc9c0 \ube0c\ub79c\uce58 \uc0ad\uc81c\n    git remote prune &lt;remote> : unreachable \ud55c git object \ub4e4\uc744 local \uc5d0\uc11c clean\n    git remote prune --dry-run --verbose : prune \ud14c\uc2a4\ud2b8\n    git diff &lt;branch> &lt;\ub2e4\ub978 \ube0c\ub79c\uce58 \uc774\ub984> : \ubcc0\uacbd \ub0b4\uc6a9\uc744 merge \ud558\uae30 \uc804\uc5d0 \ubc14\ub010 \ub0b4\uc6a9 \ube44\uad50\n    git merge &lt;\ub2e4\ub978 \ube0c\ub79c\uce58 \uc774\ub984> : \ub2e4\ub978 \ube0c\ub79c\uce58\uc640 \ubcd1\ud569\n    \u203b\ube0c\ub79c\uce58 \ud30c\uc77c \uc704\uce58: .git\/refs\/remotes\/&lt;branch name>\n\n  \u25a8\ucee4\ubc0b \ub418\ub3cc\ub9ac\uae30 (push \uc804\uc5d0 \uc0ac\uc6a9)\n    git reset HEAD^ : commit \ubc14\ub85c \uc774\uc804 \ub2e8\uacc4\ub85c \ubcf5\uad6c\n    git reset HEAD~2 : commit \ubc14\ub85c \uc804\uc804 \ub2e8\uacc4\ub85c \ubcf5\uad6c\n    git reset --hard &lt;commit hash> : &lt;commit hash> \uc774\ud6c4\uc758 \ubcc0\uacbd \uc774\ub825\uc740 \ud30c\uc77c\uae4c\uc9c0 \ubaa8\ub450 \uc0ad\uc81c\n    git reset --mixed &lt;commit hash> : Working Directory\ub294 \ubcc0\ud654\uc5c6\uc774 HEAD\uc640 Staging Area\ub9cc &lt;commit hash>\ub85c \ub418\ub3cc\ub9bc\n    git reset --soft &lt;commit hash> : Staging Area, Working Directory\ub294 \ubcc0\ud654\uc5c6\uc774 HEAD\ub9cc &lt;commit hash>\ub85c \ub418\ub3cc\ub9bc\n\n  \u25a8\ucee4\ubc0b \ub418\ub3cc\ub9ac\uae30 (push \ud6c4\uc5d0 \uc0ac\uc6a9)\n    git revert &lt;commit hash> : &lt;commit hash>\uc5d0 \ud574\ub2f9\ud558\ub294 \ucee4\ubc0b\uc744 \uc774\uc804 \uc0c1\ud0dc\ub85c \ub418\ub3cc\ub9bc\n\n  \u25a8\uc800\uc218\uc900 \ucee4\ub9e8\ub4dc\n    git cat-file -p HEAD : HEAD\ub97c \uac00\ub9ac\ud0a4\ub294 \uc2a4\ub0c5\uc0f7 \ud655\uc778\n    git ls-files -s : \ud604\uc7ac Index \ud655\uc778\n\n  \u25a8\uc555\ucd95\n    git archive -l (\uc555\ucd95 \uac00\ub2a5\ud55c \ud3ec\ub9f7 \ud655\uc778)\n    git archive --format=tar.gz master -o \/backup\/20230504_backup.tar.gz\n\n  \u25a8\uc800\uc7a5\uc18c \uc704\uce58\uc5d0 \ub530\ub978 \uc815\ub9ac\n    commit: Staging Area > Local Repository\n    push: Local Repository > Remote Repository\n    pull: Remote Repository > Local Repository\n    clone: Remote Repository > Local Repository (\ucd5c\ucd08 \uac00\uc838\uc624\uae30\uc5d0 \uc0ac\uc6a9)\n    fork: Remote Repository > Remote Repository\n\n\u25a0Local Repository\u2192Remote Repository \ub808\ud3ec\uc9c0\ud130\ub9ac \ucd5c\ucd08 \uc5c5\ub85c\ub4dc\n  cd &lt;Working Directory>\n  git init\n  git remote add origin \"https:\/\/git:git@10.10.10.111\/sample_repo.git\"\n  git add -A\n  git commit -m \"initial commit\"\n  git push\n\n\u25a0Remote Repository\u2192Local Repository \ucd5c\ucd08 \ub2e4\uc6b4\ub85c\ub4dc\n  git clone \"https:\/\/git:git@10.10.10.111\/sample_repo.git\" \"D:\\src\\test\"\n  git add .\n  git commit\n  git push\n\n\u25a0Remote Repository\u2192Local Repository \ubcc0\uacbd\uc0ac\ud56d \ubc18\uc601\n  git fetch origin master\n  git pull origin master\n\n\u25a0git \uac1c\ub150\n                 Working Directory (.git\uc774 \uc704\uce58\ud55c \ub514\ub809\ud1a0\ub9ac)                             git Server\n|-----------------------------------------------------------------------------||------------------------|\n\n                                    commit -a\n         +--------------------------------------------------------+\n         |             add                        commit          |           push\n         |    +-------------------+          +---------------+    |    +----------------+\n         |    |                   |          |               |    |    |                |\n         |    |                   v          |               v    v    |                v\n+-------------------+          +-------------------+     +-------------------+      +-------------------+\n|                   |          |                   |     |  Local            |      |  Remote           |\n| Working Directory |&lt;---------|  Staging Area     |     |  Repository       |      |  Repository       |\n|                   | checkout |  (.git directory) |     |  (.git directory) |      |                   |\n+-------------------+          +-------------------+     +-------------------+      +-------------------+\n     ^    ^     ^                                             |    |     ^              |     |\n     |    |     |                                             |    |     |              |     |\n     |    |     +---------------------------------------------+    |     +--------------+     |\n     |    |                      checkout HEAD                     |          fetch           |\n     |    +--------------------------------------------------------+                          |\n     |                               merge                                                    |\n     +----------------------------------------------------------------------------------------+\n                                         pull = fetch + merge\n\n  \u25a8\uc800\uc7a5\uc18c \uc124\uba85\n    -Working Directory:\n      \ub0b4\uac00 \uc791\uc5c5\ud558\uace0 \uc788\ub294 \ud504\ub85c\uc81d\ud2b8\uc758 \ub514\ub809\ud1a0\ub9ac\n    -Staging Area(.git):\n      commit\uc744 \ud558\uae30 \uc704\ud574 git add \uba85\ub839\uc5b4\ub85c \ucd94\uac00\ud55c \ud30c\uc77c\ub4e4\uc774 \ubaa8\uc5ec\uc788\ub294 \uacf5\uac04.\n      \uc2a4\ud14c\uc774\uc9d5 \uc601\uc5ed(Staging area)\ub780 commit\uc774 \uac00\ub2a5\ud55c \uc601\uc5ed\uc73c\ub85c, commit\ud558\uae30 \uc804 \ud30c\uc77c\uc744 \ub2f4\uc544\ub450\ub294 \uc0c1\uc790\ub77c\uace0 \ubcfc \uc218 \uc788\ub2e4. git add \uba85\ub839\uc5b4\ub97c \ud1b5\ud574 \uc218\uc815\ub41c \ud30c\uc77c\uc744 \uc2a4\ud14c\uc774\uc9d5 \uc601\uc5ed\uc5d0 \ub2f4\uc744 \uc218 \uc788\ub2e4.\n      \uc989, \uc2a4\ud14c\uc774\uc9d5 \uc601\uc5ed\uc740 commit\ud558\uae30 \uc704\ud55c \ud30c\uc77c\ub4e4\uc744 \ub2f4\ub294 \ubc15\uc2a4\uc774\uace0, commit \ud558\ub294 \uac83\uc740 \ubc15\uc2a4\uc5d0 \ub2f4\uae34 \ud30c\uc77c\ub4e4\uc744 \uac04\ub2e8\ud55c \ucf54\uba58\ud2b8\ub97c \ub0a8\uaca8 \ub77c\ubca8\ub9c1\uc744 \ud574\uc8fc\ub294 \uac83\uc774\ub2e4.\n      \ub9cc\uc57d, git add \uba85\ub839\uc5b4\ub97c \ud1b5\ud574 \ud30c\uc77c\uc744 Staging area\uc5d0 \ucd94\uac00\ud55c \uc0c1\ud0dc\uc5d0\uc11c \ub610 \ud30c\uc77c\uc744 \uc218\uc815\ud55c\ub2e4\uba74, \ud574\ub2f9 \ud30c\uc77c\uc740 \uc2a4\ud14c\uc774\uc9d5 \uc601\uc5ed\uc5d0 \uc874\uc7ac\ud558\uba74\uc11c, \uc218\uc815(modified)\ub41c \uc0c1\ud0dc\uac00 \ub41c\ub2e4.\n      \ub530\ub77c\uc11c, git status\ub85c \ud655\uc778\ud558\uba74 \uc2a4\ud14c\uc774\uc9d5 \uc601\uc5ed\uacfc modified \uc601\uc5ed\uc5d0 \ub458 \ub2e4 \ud45c\uc2dc\ud558\uac8c \ub41c\ub2e4.\n      \uc774 \uc0c1\ud0dc\uc5d0\uc11c git commit\uc744 \ud558\uac8c \ub41c\ub2e4\uba74, \uc2a4\ud14c\uc774\uc9d5 \uc601\uc5ed\uc5d0 \uc788\ub294 \ud30c\uc77c\ub9cc commit\uc774 \ub418\uace0, \uc774\ud6c4 \uc218\uc815\ub41c \ub0b4\uc6a9\uc740 commit\uc774 \ub418\uc9c0 \uc54a\ub294\ub2e4. \ub530\ub77c\uc11c git add \uba85\ub839\uc5b4\ub97c \uc2e4\ud589\ud55c \ud6c4 \ub2e4\uc2dc \ud30c\uc77c\uc744 \uc218\uc815\ud55c\ub2e4\uba74 git add \uba85\ub839\uc5b4\ub97c \ub2e4\uc2dc \uc2e4\ud589\ud558\uc5ec \ud30c\uc77c\uc758 \ucd5c\uc2e0 \uc0c1\ud0dc\uac00 \uc2a4\ud14c\uc774\uc9d5 \uc601\uc5ed\uc5d0 \uc874\uc7ac\ud558\ub3c4\ub85d \ud574\uc57c \ud55c\ub2e4.\n      \ub9cc\uc57d, git add \uba85\ub839\uc5b4\ub97c \uc2e4\ud589\ud55c \ud6c4 \ub2e4\uc2dc \ud30c\uc77c\uc744 \uc218\uc815\ud558\uc600\uc9c0\ub9cc, \uc218\uc815\ud55c \ud30c\uc77c\uc744 \ud3d0\uae30\ud558\uace0 \uc2f6\ub2e4\uba74, git restore \uba85\ub839\uc5b4\ub97c \ud1b5\ud574 \ud3d0\uae30\uac00 \uac00\ub2a5\ud558\ub2e4. git restore \uba85\ub839\uc5b4\ub97c \uc2e4\ud589\ud558\uc600\uc744 \uacbd\uc6b0, git add \ub41c \ud30c\uc77c\uc740 \ud3d0\uae30\ub418\uc9c0 \uc54a\uace0, git add \uba85\ub839\uc5b4 \uc0ac\uc6a9\ud55c \uc774\ud6c4\uc5d0 \uc218\uc815\ub41c \ubd80\ubd84\ub9cc \ud3d0\uae30\ub41c\ub2e4.\n    -Local Repository(.git):\n      git commit \uc2dc .git\\objects\\\uc5d0 \uc774\ub825\uc774 \ucd94\uac00\ub418\uba70, \ud30c\uc77c\uacfc \uba54\ud0c0\ub370\uc774\ud130\ub3c4 \uc800\uc7a5\ub41c\ub2e4.\n\n  \u25a8git\uc758 3\uac00\uc9c0 \uc0c1\ud0dc\n\n\u25c6Modified           \u25c6Staged             \u25c6Committed\n+----------------+   +----------------+   +----------------+\n|                |   |                |   |                |\n| Working        |   | Staging Area   |   | Local          |\n|      Directory |   |                |   |     Repository |\n|                |   |                |   | (.git)         |\n+----------------+   +----------------+   +----------------+\n        |                    |                    |\n        |&lt;----------------------------------------|\n        |           checkout the project          |\n        |------------------->|                    |\n        |     stage fixes    |------------------->|\n        |                    |       commit       |\n\n  -Modified : \uc218\uc815\ud55c \ud30c\uc77c\uc744 \ub85c\uceec \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 commit\ud558\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\n    \uff0aWorking Directory \uc601\uc5ed\uc5d0 \uc788\ub294 \ud30c\uc77c\ub4e4 \uc911 \uc218\uc815\uc744 \ud55c \ud30c\uc77c\ub4e4\uc758 \uc0c1\ud0dc\ub97c \uc758\ubbf8\n  -Staged : \uc218\uc815\ud55c \ud30c\uc77c\ub4e4 \uc911 commit \ud560 \uac83\uc774\ub77c\uace0 \ud45c\uc2dc\ud55c \uc0c1\ud0dc\n    \uff0aStaging Area \uc601\uc5ed\uc5d0 \uc788\ub294 \ud30c\uc77c\ub4e4\uc758 \uc0c1\ud0dc\n  -Commited : Staged \uc0c1\ud0dc\uc758 \ud30c\uc77c\ub4e4\uc774 \ub85c\uceec \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc548\uc804\ud558\uac8c \uc800\uc7a5\ub418\uc5c8\ub2e4\ub294 \uc758\ubbf8\n    \uff0acommit \ub41c \ub300\uc0c1 \ud30c\uc77c\uc740 Working Directory \uc601\uc5ed\uc73c\ub85c \ub3cc\uc544\uac00\uac8c \ub418\uace0 \ub300\uc0c1 \ud30c\uc77c\uc758 \ubc84\uc804\uc744 \uad00\ub9ac\ud558\ub294 \ud30c\uc77c\ub4e4\uc740 .git\uc5d0 \uc800\uc7a5\ub41c \uc0c1\ud0dc\n    \uff0aCommited \uc0c1\ud0dc \ub300\uc0c1 \ud30c\uc77c\uc744 \uc218\uc815\ud558\uac8c \ub418\uba74 Modified \uc0c1\ud0dc\n\n  \u25a8git \ud30c\uc77c\uc758 LifeCycle \uad00\uc810\uc5d0\uc11c \ubcf8 4\uac00\uc9c0 \uc0c1\ud0dc\n+----------------+   +----------------+  +----------------+   +----------------+\n|   Untracked    |   |  Unmodified    |  |    Modified    |   |    Staged      |\n+----------------+   +----------------+  +----------------+   +----------------+\n        |                    |                  |                    |\n        |------------------->|                  |                    |\n        | Add the file       |                  |                    |\n        |                    |----------------->|                    |\n        |                    | Edit the file    |------------------->|\n        |                    |                  | Stage the file     |\n        |&lt;-------------------|                  |                    |\n        | Remove the file    |                  |                    |\n        |                    |&lt;------------------------------------- |\n        |                    |                  |      Commit        |\n\n  -Untracked : Working Directory\uc5d0 \uc874\uc7ac\ub294 \ud558\uc9c0\ub9cc git\uc774 \uad00\ub9ac\ub97c \ud558\uc9c0 \uc54a\ub294 \ud30c\uc77c\ub4e4\uc758 \uc0c1\ud0dc\n    \uff0aWorking Directory\uc5d0 \uc0c8\ub86d\uac8c \ub9cc\ub4e4\uc5b4\uc9c4 \ud30c\uc77c\ub4e4\uc774 \uc774\uc5d0  \ud574\ub2f9\n  -Unmodified : \uc2e0\uaddc\ub85c \ud30c\uc77c\uc774 \ucd94\uac00\ub418\uc5c8\uc744 \ub54c, new file \uc0c1\ud0dc\uc640 \uac19\ub2e4. (git add \uc0c1\ud0dc)\n  -Modified : \ud30c\uc77c\uc774 \ucd94\uac00\ub41c \uc774\ud6c4 \ud574\ub2f9 \ud30c\uc77c\uc774 \uc218\uc815\ub418\uc5c8\uc744 \ub54c\uc758 \uc0c1\ud0dc\n  -Staged : Staging Area\uc5d0 \ubc18\uc601\ub41c \uc0c1\ud0dc\n\n\u25a0git \uc6a9\uc5b4\n  origin: remote(\uc6d0\uaca9 \uc800\uc7a5\uc18c)\uc758 \ub514\ud3f4\ud2b8 \uc774\ub984 (\uc800\uc7a5\uc18c \uc774\ub984\uc744 origin\uc73c\ub85c \ud558\uba74 \uc800\uc7a5\uc18c\uba85 \uc0dd\ub7b5\uac00\ub2a5)\n  master: \uae30\ubcf8 branch.\n  branch: Remote Repository\uc758 \ud604\uc7ac \uc0c1\ud0dc\ub97c \ubcf5\uc0ac\ud558\uc5ec master branch\uc640 \ubcc4\uac1c\uc758 \uc791\uc5c5\uc744 \uc9c4\ud589\ud560 \uc218 \uc788\ub294 \uacf5\uac04\n  head: \ud604\uc7ac \uc791\uc5c5\uc911\uc778 branch\uc758 \ucd5c\uadfc commit\ub41c \uc704\uce58\n  index: Staging Area\ub97c \uc758\ubbf8\n  merge: \ub2e4\ub978 branch\uc758 \ub0b4\uc6a9\uc744 \ud604\uc7ac branch\ub85c \uac00\uc838\uc640 \ud569\uce58\ub294 \uc791\uc5c5\n  fetch: \uc6d0\uaca9\uc800\uc7a5\uc18c\uc5d0 \uc788\ub294 \ubcc0\uacbd\uc0ac\ud56d\ub4e4\uc744 \ub85c\uceec\uc800\uc7a5\uc18c\uc5d0 \uac00\uc838\uc624\uae30 \uc804\uc5d0 \ubcc0\uacbd\ub0b4\uc6a9\uc744 \ud655\uc778\ud558\uace0 \uc2f6\uc740\uacbd\uc6b0\uc5d0 \uc0ac\uc6a9 (\ub0b4\uc6a9\uc744 \uac00\uc838\uc624\uc9c0 \uc54a\uace0 \ubcc0\uacbd\ud55c \ub0b4\uc5ed\ub4e4\ub9cc \ud655\uc778)\n  pull: \uc6d0\uaca9\uc800\uc7a5\uc18c\uc5d0 \uc788\ub294 \ubcc0\uacbd\uc0ac\ud56d\ub4e4\uc744 \ub85c\uceec\uc800\uc7a5\uc18c\ub85c \uac00\uc838\uc640 \ud569\uce58\ub294 \uba85\ub839\n  push: \uc6d0\uaca9\uc800\uc7a5\uc18c\uc5d0 \ucf54\ub4dc \ubcc0\uacbd\ubd84\uc744 \uc5c5\ub85c\ub4dc\n  checkout: branch \uac04 \uc804\ud658 \ub610\ub294 \ud604\uc7ac \uc791\uc5c5 \uc911\uc778 \ud30c\uc77c\ub4e4\uc744 \ubcf5\uc6d0\n  HEAD: HEAD\ub780 \uac00\uc7a5 \ucd5c\uadfc\uc5d0 checkout\ub41c branch\uc758 \ub9c8\uc9c0\ub9c9 commit\uc744 \uac00\ub9ac\ud0a4\ub294 \ud3ec\uc778\ud130.\n  blob \uac1c\uccb4 : git \ub0b4\ubd80\uc801\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 \ud30c\uc77c \uac1c\ub150\n  tree \uac1c\uccb4 : git \ub0b4\ubd80\uc801\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 \ub514\ub809\ud1a0\ub9ac \uac1c\ub150\n\n\u25a0git \uae30\ubcf8 \ud658\uacbd \uc124\uc815\n  git config --global user.name \"git_user\"\n  git config --global user.email \"gituser@gituser.com\"\n  git config --global core.autocrlf false\n  git config --global core.editor \"'C:\/PortableApps\/Notepad++Portable\/Notepad++Portable.exe' -multiInst -nosession\"\n  git config --global core.pager \"\"\n  git config --global core.protectNTFS false\n  git config --global http.sslVerify false\n  git config --global i18n.commitencoding \"UTF-8\"\n  git config --global i18n.logoutputencoding \"UTF-8\"\n  git config --global push.default current\n  git config --global --add diff.guitool kdiff3\n  git config --global --add difftool.kdiff3.cmd  \"\"\"\"C:\\PortableApps\\GitExtensions_Portable\\_3RD_PARTY_APPS\\KDiff3\\bin\\diff3.exe\"\"\" \"\"\"$LOCAL\"\"\" \"\"\"$REMOTE\"\"\"\"\n  git config --global --add difftool.kdiff3.path \"C:\\PortableApps\\GitExtensions_Portable\\_3RD_PARTY_APPS\\KDiff3\\bin\\diff3.exe\"\n  git config --global --add difftool.kdiff3.trustExitCode false\n  git config --global --add merge.tool kdiff3\n  git config --global --add merge.tool.kdiff3.cmd \"\"\"\"C:\\PortableApps\\GitExtensions_Portable\\_3RD_PARTY_APPS\\KDiff3\\bin\\diff3.exe\"\"\" \"\"\"$BASE\"\"\" \"\"\"$LOCAL\"\"\" \"\"\"$REMOTE\"\"\" -o \"\"\"$MERGED\"\"\"\"\n  git config --global --add merge.tool.kdiff3.path \"C:\\PortableApps\\GitExtensions_Portable\\_3RD_PARTY_APPS\\KDiff3\\bin\\diff3.exe\"\n  git config --global --add mergetool.kdiff3.trustExitCode false\n\n  git init\n  git remote add origin \"https:\/\/git:git@10.10.10.111\/sample_repo.git\"\n  #git remote remove origin\n  \u203bglobal config \ud30c\uc77c \uc704\uce58: ~\/.gitconfig\n  \u203blocal config \ud30c\uc77c \uc704\uce58: .git\/config\n\n\u25a0branch \uac1c\ub150\n  branch(branch)\ub780 \ub3c5\ub9bd\uc801\uc73c\ub85c \uc5b4\ub5a4 \uc791\uc5c5\uc744 \uc9c4\ud589\ud558\uae30 \uc704\ud55c \uac1c\ub150\uc73c\ub85c \ud544\uc694\uc5d0 \uc758\ud574 \ub9cc\ub4e4\uc5b4\uc9c0\ub294 \uac01\uac01\uc758 branch\ub294 \ub2e4\ub978 branch\uc758 \uc601\ud5a5\uc744 \ubc1b\uc9c0 \uc54a\uace0 \uc601\ud5a5\uc744 \uc8fc\uc9c0\ub3c4 \uc54a\uae30 \ub54c\ubb38\uc5d0 \uc5ec\ub7ec \uc791\uc5c5\uc744 \ub3d9\uc2dc\uc5d0 \uc2e4\ud589\ud560 \uc218 \uc788\ub2e4.\n  \ud604\uc7ac \uc791\uc5c5\uc911\uc778 branch\ub294 HEAD-> \uac00 \uac00\ub974\ud0a4\ub294 branch \uc774\ub2e4.\n\n  -master branch\ub780?\n    \uc800\uc7a5\uc18c \uc0dd\uc131 \uc2dc \uc790\ub3d9\uc73c\ub85c \uc0dd\uc131\ub418\ub294 \ub514\ud3f4\ud2b8 branch\n\n             +-----------+\n             | \ubc84\uadf8 \ud53d\uc2a4 |\n     +------>| branch    +------+\n     |       +-----------+      |\n+----+---+                      |\n| Master |                      v\n| branch +------------------>Merge------->Merge------->Merge-->\n+----+---+                                  ^            ^\n     |       +-----------+                  |            |\n     +------>| \uae30\ub2a5 \ucd94\uac00 +------------------+            |\n     |       | branch    |                               |\n     |       +-----------+                               |\n     |                                                   |\n     |               +------------+                      |\n     |               | \uae30\ub2a5 \ubcc0\uacbd  |                      |\n     +-------------->| branch     +----------------------+\n                     +------------+\n\n  -branch \ub9cc\ub4e4\uae30: git branch &lt;branch \uc774\ub984>\n  -\uc791\uc5c5\ud558\uace0 \uc2f6\uc740 branch\ub85c \uc774\ub3d9\ud558\uae30: git branch &lt;branch \uc774\ub984>\n  -branch\uc0dd\uc131\uacfc \uc774\ub3d9\uc744 \ub3d9\uc2dc\uc5d0 \ud558\uae30: git checkout -b &lt;branch \uc774\ub984>\n  -branch \uc0ad\uc81c\ud558\uae30: git branch -d &lt;branch \uc774\ub984>\n\n  \u203b\uc77c\ubc18\uc801\uc73c\ub85c branch\ub97c \uc0ad\uc81c\ub97c \ud558\ub294 \uacbd\uc6b0\ub294 master branch\uc640 test branch\uc5d0\uc11c \uc791\uc5c5\ud55c \uac83\uc744 \ubcd1\ud569 \ud55c \ud6c4 \uc0ad\uc81c\ud55c\ub2e4.\n  \u203btest branch\ub97c \uc0ad\uc81c\ud558\uace0 \uc2f6\uc73c\uba74 \ud604\uc7ac \uac00\ub9ac\ud0a4\uace0 \uc788\ub294 branch\uac00 test\uc774\uba74 \uc548\ub41c\ub2e4.\n\n\u25a0HEAD\uc640 branch \uac1c\ub150 (\ucd9c\ucc98: https:\/\/charles098.tistory.com\/24)\n\n  HEAD\uc640 branch\ub294 \uc0c1\ud0dc\ub97c \uac00\ub9ac\ud0a4\ub294 \ud3ec\uc778\ud130\ub85c HEAD\ub294 branch\ub97c \ud1b5\ud574 commit\uc744 \uac00\ub9ac\ud0a4\ub294 \ud3ec\uc778\ud130.\n  \uc544\ub798\ub294 commit\uacfc checkout \uacfc\uc815\uc5d0\uc11c branch\uc640 HEAD\uc758 \uc774\ub3d9\uc744 \ubcf4\uc5ec\uc900\ub2e4.\n\n                             +------+\n                             | HEAD |\n                             +---+--+\n                                 |\n                                 v\n                             +------+\n                             | test |\n                             +---+--+\n                                 |\n                                 v\n+-----+        +-----+        +-----+\n|     +------->|     +------->|     |\n+-----+        +-----+        +-----+\n\uccab\ubc88\uc9f8 commit  \ub450\ubc88\uc9f8 commit  \uc138\ubc88\uc9f8 commit\n\n=> commit\uc744 \ud558\uba74 HEAD\uac00 \uac00\ub9ac\ud0a4\ub294 branch\uac00 \ucd5c\uc2e0 commit\uc73c\ub85c \uc774\ub3d9\n\n                         +------+\n                         | HEAD |\n                         +---+--+\n                             |\n                             v\n                         +------+ +------+\n                         |master| | test |\n                         +-----++ ++-----+\n                               |   |\n                               v   v\n+-----+        +-----+        +-----+\n|     +------->|     +------->|     |\n+-----+        +-----+        +-----+\n\uccab\ubc88\uc9f8 commit  \ub450\ubc88\uc9f8 commit  \uc138\ubc88\uc9f8 commit\n\n=> test branch\ub97c \ub9cc\ub4e4\uba74 \uc704 \uadf8\ub9bc\ucc98\ub7fc HEAD\uac00 \uac00\ub9ac\ud0a4\ub358 commit\uc744 test branch\uac00 \uac00\ub9ac\ud0a4\uac8c \ub41c\ub2e4.\n\n                                  +------+\n                                  | HEAD |\n                                  +---+--+\n                                      |\n                                      v\n                         +------+ +------+\n                         |master| | test |\n                         +-----++ ++-----+\n                               |   |\n                               v   v\n+-----+        +-----+        +-----+\n|     +------->|     +------->|     |\n+-----+        +-----+        +-----+\n\uccab\ubc88\uc9f8 commit  \ub450\ubc88\uc9f8 commit  \uc138\ubc88\uc9f8 commit\n\n=> git chkeckout test\ub85c branch\ub97c \ubcc0\uacbd\ud558\uba74 HEAD\ub294 test\ub97c \uac00\ub9ac\ud0a8\ub2e4.\n\n                                                           +------+\n                                                           | HEAD |\n                                                           +---+--+\n                                                               |\n                                                               v\n                             +------+                      +------+\n                             |master|                      | test |\n                             +---+--+                      +---+--+\n                                 |                             |\n                                 v                             v\n+-----+        +-----+        +-----+        +-----+        +-----+\n|     +------->|     +------->|     +------->|     +------->|     +\n+-----+        +-----+        +-----+        +-----+        +-----+\n\uccab\ubc88\uc9f8 commit  \ub450\ubc88\uc9f8 commit  \uc138\ubc88\uc9f8 commit  \ub124\ubc88\uc9f8 commit  \ub2e4\uc12f\ubc88\uc9f8 commit\n\n=> commit\uc744 \ub450\ubc88 \ub354 \uc9c4\ud589\ud588\uc744 \uacbd\uc6b0 HEAD\ub294 \ud604\uc7ac branch\uc778 test\ub97c \ub530\ub77c \uc6c0\uc9c1\uc778\ub2e4.\n\n                             +------+\n                             | HEAD |\n                             +---+--+\n                                 |\n                                 v\n                             +------+                      +------+\n                             |master|                      | test |\n                             +---+--+                      +---+--+\n                                 |                             |\n                                 v                             v\n+-----+        +-----+        +-----+        +-----+        +-----+\n|     +------->|     +------->|     +------->|     +------->|     +\n+-----+        +-----+        +-----+        +-----+        +-----+\n\uccab\ubc88\uc9f8 commit  \ub450\ubc88\uc9f8 commit  \uc138\ubc88\uc9f8 commit  \ub124\ubc88\uc9f8 commit  \ub2e4\uc12f\ubc88\uc9f8 commit\n\n=> git chkeckout master\ub85c branch\ub97c \ubcc0\uacbd\ud558\uba74 HEAD\ub294 \ub2e4\uc2dc master\ub97c \uac00\ub9ac\ud0a8\ub2e4.\n\n                                                           +------+\n                                                           | HEAD |\n                                                           +---+--+\n                                                               |\n                                                               v\n                                                           +------+\n                                                           |master|\n                                                           +---+--+\n                                                               |\n                                                               v\n                              +-----+                      +------+\n                              |  #1 +--------------------->|  #2  |\n                              +--+--+                      +------+\n                                 ^\n                                 |                         +------+\n                                 |                         | test |\n                                 |                         +---+--+\n                                 |                             |\n                                 |                             v\n+-----+        +-----+        +--+--+        +-----+        +-----+\n|     +------->|     +------->|     +------->|     +------->|     +\n+-----+        +-----+        +-----+        +-----+        +-----+\n\uccab\ubc88\uc9f8 commit  \ub450\ubc88\uc9f8 commit  \uc138\ubc88\uc9f8 commit  \ub124\ubc88\uc9f8 commit  \ub2e4\uc12f\ubc88\uc9f8 commit\n\n=> commit\uc744 \ub450\ubc88 \ub354 \ud588\uc744 \uacbd\uc6b0 \ucf54\ub4dc\uc758 \ud750\ub984\uc774 \ub450 \uac08\ub798\ub85c \ub098\ub258\uc5b4 \uc9c0\uba70, \uc774\ub97c \"\ubd84\uae30\ud55c\ub2e4\"\ub77c\uace0 \ud55c\ub2e4.\n\n                                                           +------+\n                                                           | HEAD |\n                                                           +---+--+\n                                                               |\n                                                               v\n                                                           +------+\n                                                           |master|\n                                                           +---+--+\n                                                               |\n                                                               v\n                              +-----+        +-----+       +------+\n                              |  #1 +------->|  #2 |------>|merge |&lt;--+\n                              +--+--+        +-----+       +------+   |\n                                 ^                                    |\n                                 |                         +------+   |\n                                 |                         | test |   |\n                                 |                         +---+--+   |\n                                 |                             |      |\n                                 |                             v      |\n+-----+        +-----+        +--+--+        +-----+        +-----+   |\n|     +------->|     +------->|     +------->|     +------->|     +---+\n+-----+        +-----+        +-----+        +-----+        +-----+\n\uccab\ubc88\uc9f8 commit  \ub450\ubc88\uc9f8 commit  \uc138\ubc88\uc9f8 commit  \ub124\ubc88\uc9f8 commit  \ub2e4\uc12f\ubc88\uc9f8 commit\n\n=> git merge test\ub97c \ud558\uba74 HEAD\uac00 \uac00\ub9ac\ud0a4\ub358 commit\uc5d0 test branch\uac00 \uac00\ub9ac\ud0a4\ub358 commit\uc744 \ud569\uccd0 \uc0c8\ub85c\uc6b4 commit\uc744 \ub9cc\ub4e0\ub2e4.<\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[17],"tags":[],"class_list":["post-6115","post","type-post","status-publish","format-standard","hentry","category-development_dev_tools"],"_links":{"self":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/6115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6115"}],"version-history":[{"count":0,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/6115\/revisions"}],"wp:attachment":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}