์ด๋ณด์๐ฑ Git ๋ช ๋ น์ด
Git Journey๋ฅผ ๋ง ์์ํ๊ณ ๐ Git ๋ช ๋ น์ด ํผ๋์ค๋ฝ๋ค๋ฉด, ์ด๊ฒ์ ๋น์ ์ ์ํ ๊ฒ์ ๋๋ค โบ๏ธ!
Git Bash ํ๊ฒฝ ์ค์
Git Bash๋ฅผ ๋ชจ๋ฅด๊ฑฐ๋ ์ปดํจํฐ์์ git์ ์ฌ์ฉํด ๋ณธ ์ ์ด ์๋ค๋ฉด ๐ป ๋ค์ ๋จ๊ณ์ ๋ฐ๋ผ ์์ํ์ธ์.
1. ๊ธฐ๊ธฐ์ฉ Git Bash ๋ค์ด๋ก๋ ๐ปGit Bash
2. Windows ์ฌ์ฉ์์ ๊ฒฝ์ฐ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ ๐ฑ๏ธ์ ํด๋ฆญํ์ฌ Git Bash๋ฅผ ์ฝ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด๋ฆ๐๊ณผ ์ด๋ฉ์ผ๐ง ID๋ฅผ ์ค์ ํ์ธ์.
$ git config --global user.name "<Your_Name>"
$ git config --global user.email "<Your_Email>"
3. GitHub๋ก ์ด๋ํ์ฌ ์ด๋ฉ์ผ์ ์ฌ์ฉํ์ฌ GitHub ๊ณ์ ์ ์์ฑํฉ๋๋ค.
๋์ผํ ์ด๋ฉ์ผ๐ง์ ์ฌ์ฉํ๋ ค๋ฉด ์ด์ ์ ์ฌ์ฉํ ์ ์ด ์๋์ง ํ์ธํ์ญ์์ค.
์ด ๊ฒฝ์ฐ ๋ ๋์๊ฐ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
1๏ธโฃ๋จผ์
4. ์ํ๋ ํด๋๐๋ก ์ด๋ํ์ฌ ๋ชจ๋ GitHub ์ ์ฅ์๐ณ๋ฅผ ๋ณด๊ดํ๊ณ ์ถ์ต๋๋ค.
์๊ฒฉ ์ ์ฅ์๋ฅผ ๋ณต์ ํฉ๋๋ค. URL์ ํตํด
git clone URL
์ฝ๋๋ฅผ ํด๋ฆญํ์ฌ ์จ๋ผ์ธ GitHub ๋ฆฌํฌ์งํ ๋ฆฌ์์ URL์ ์ป์ ์ ์์ต๋๋ค.
์ ์ฅ์์ ๋ฒํผ ๐.
2๏ธโฃ๋๋ฒ์งธ
4.GitHub ์ ์ฅ์๐ณ๋ก ๋ง๋ค๊ณ ์ถ์ ํด๋๐๋ก ์ด๋ํฉ๋๋ค.
๊ธฐ์กด ๋๋ ํ ๋ฆฌ๋ฅผ git repo๋ก ์ด๊ธฐํํฉ๋๋ค.
git init
์ค์ ์ด ์ ๋ถ์
๋๋ค. ์ด์ ์ฝ๋๋ฅผ ์์ํ์ธ์.
๐๐๋ช
๋ น์ด๐๐
1 :
์๋์ ์์ ๋ ํ์ผ์ด ์ถ๊ฐ๋ฉ๋๋ค.
git add myFile
myFile ํ์ผ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ค๋นํ๋ ค๋ ๊ฒฝ์ฐ.
git add . Or git add -A
๋ชจ๋ ์์ ๋ ํ์ผ์ ์ค๋นํ๊ณ ์ถ์ ๋.
2:
์๋์์ ํ์ผ์ ๋ณต์ํฉ๋๋ค.
git reset myFile
์์
๋๋ ํ ๋ฆฌ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์งํ๋ฉด์ ํ์ผ ์ธ์คํ
์ด์ง
์๋์๋ ์์ฑ์ ๋ฐ ์ด๋ฉ์ผ๊ณผ ๊ฐ์ ๋ชจ๋ ์ธ๋ถ ์ ๋ณด์ ํจ๊ป ๋ชจ๋ ์ปค๋ฐ์ด ํ์๋ฉ๋๋ค.
git log
์๋๋ ์ปดํฉํธํ ๋ฐฉ์์ผ๋ก ์ปค๋ฐ์ ๋ณด์ฌ์ค๋๋ค!, ์ปค๋ฐ ํด์์ ๋ฉ์์ง๋ง ๋ณด์ฌ์ค๋๋ค.
git log --oneline
์ผ :
git revert <commit hash>
์ปค๋ฐ์ ๋กค๋ฐฑํ๋ ค๋ฉด ์ ๋ช
๋ น์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค์ ๋ช
๋ น์ ์
๋ ฅํ์ฌ ๋ชจ๋ ์ปค๋ฐ์ ์ปค๋ฐ ํด์๋ฅผ ์ป์ ์ ์์ต๋๋ค. git log
4:
์๋์ ํ์ฌ ์ํ๊ฐ ํ์๋ฉ๋๋ค.
git status
์คํ
์ด์ง ๋๋ ์ถ๊ฐํ์ง ์์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: abcd.md
no changes added to commit (use "git add" and/or "git commit -a")
ํ์ผ์ ์ค๋นํ ๊ฒฝ์ฐ. ๊ทธ๋ฌ๋ฉด ๋ค์ ์ปค๋ฐ์ ์ํด ์ค๋น๋ ์์ ๋ ํ์ผ์ด ํ์๋ฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: abcd.md
5:
git push origin <branch>
์ต์ข
๋ณ๊ฒฝ ์ฌํญ์ ํน์ ๋ธ๋์น์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ํธ์ํ๋ ค๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง์คํฐ ๋ธ๋์น๊ฐ ์์ผ๋ฏ๋ก ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์ญ์์ค.
git push origin master
6:
git pull
ํ์ฌ ๋ก์ปฌ ๋ธ๋์น์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์ ธ์ค๋ ค๋ ๊ฒฝ์ฐ.
7:
์ง์ ์ ๋ง๋ค๊ณ ์ถ์ ๋
git branch branch1
ํ์ฌ ์ปค๋ฐ์์ ์ ๋ธ๋์น ์ด๋ฆ branch1 ์์ฑ
๋ชจ๋ ์ง์ ์ ๋ณด๊ณ ์ถ์ ๋
git branch
๊ทธ๊ฒ์ ๋น์ ์ ์ง์ ์ ๋์ดํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ํ์ฌ ํ์ฑ ๋ถ๊ธฐ ์์ *๊ฐ ํ์๋ฉ๋๋ค.
PS D:\winter plan> git branch
* branch1
master
one
์ง์ ์ ์ ํํ๊ณ ์ถ์ ๋
git checkout branch1
๋ค๋ฅธ branch1๋ก ์ ํํ๊ณ ์์
๋๋ ํ ๋ฆฌ๋ก ํ์ธํ์ญ์์ค.
8:
๋ถ๊ธฐ๋ฅผ ๋ค๋ฅธ ๋ถ๊ธฐ ๋๋ ๊ธฐ๋ณธ์ผ๋ก ๋ณํฉ
git merge branch1
branch1 ๊ธฐ๋ก์ ํ์ฌ ๊ธฐ๋ก์ผ๋ก ๋ณํฉ
๋ถ๊ธฐ๋ฅผ ์ ํํ๋ ค๋ฉด ์์ ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํ๊ฑฐ๋ ์์๋ก ์์ ๋ฐ ์ถ์ ๋ ํ์ผ์ ์ ์ฅํ ์ ์์ต๋๋ค.
git stash
์์ ๋ช
๋ น์ ์์ ๋๊ณ ์ค๋น๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํ๊ณ ์๋ ๋ช
๋ น์ ์จ๊น ์คํ์ ์๋จ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฒ๋ฆฝ๋๋ค.
git stash drop
ํ๋ณตํ ๊ธฐํ
๐ฅ๐ฅ
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(์ด๋ณด์๐ฑ Git ๋ช
๋ น์ด), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/shahidalisiddiqui/beginner-git-commands-2bpb
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
$ git config --global user.name "<Your_Name>"
$ git config --global user.email "<Your_Email>"
git clone URL
git init
๐๐๋ช
๋ น์ด๐๐
1 :
์๋์ ์์ ๋ ํ์ผ์ด ์ถ๊ฐ๋ฉ๋๋ค.
git add myFile
myFile ํ์ผ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ค๋นํ๋ ค๋ ๊ฒฝ์ฐ.
git add . Or git add -A
๋ชจ๋ ์์ ๋ ํ์ผ์ ์ค๋นํ๊ณ ์ถ์ ๋.
2:
์๋์์ ํ์ผ์ ๋ณต์ํฉ๋๋ค.
git reset myFile
์์
๋๋ ํ ๋ฆฌ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์งํ๋ฉด์ ํ์ผ ์ธ์คํ
์ด์ง
์๋์๋ ์์ฑ์ ๋ฐ ์ด๋ฉ์ผ๊ณผ ๊ฐ์ ๋ชจ๋ ์ธ๋ถ ์ ๋ณด์ ํจ๊ป ๋ชจ๋ ์ปค๋ฐ์ด ํ์๋ฉ๋๋ค.
git log
์๋๋ ์ปดํฉํธํ ๋ฐฉ์์ผ๋ก ์ปค๋ฐ์ ๋ณด์ฌ์ค๋๋ค!, ์ปค๋ฐ ํด์์ ๋ฉ์์ง๋ง ๋ณด์ฌ์ค๋๋ค.
git log --oneline
์ผ :
git revert <commit hash>
์ปค๋ฐ์ ๋กค๋ฐฑํ๋ ค๋ฉด ์ ๋ช
๋ น์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค์ ๋ช
๋ น์ ์
๋ ฅํ์ฌ ๋ชจ๋ ์ปค๋ฐ์ ์ปค๋ฐ ํด์๋ฅผ ์ป์ ์ ์์ต๋๋ค. git log
4:
์๋์ ํ์ฌ ์ํ๊ฐ ํ์๋ฉ๋๋ค.
git status
์คํ
์ด์ง ๋๋ ์ถ๊ฐํ์ง ์์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: abcd.md
no changes added to commit (use "git add" and/or "git commit -a")
ํ์ผ์ ์ค๋นํ ๊ฒฝ์ฐ. ๊ทธ๋ฌ๋ฉด ๋ค์ ์ปค๋ฐ์ ์ํด ์ค๋น๋ ์์ ๋ ํ์ผ์ด ํ์๋ฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: abcd.md
5:
git push origin <branch>
์ต์ข
๋ณ๊ฒฝ ์ฌํญ์ ํน์ ๋ธ๋์น์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ํธ์ํ๋ ค๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง์คํฐ ๋ธ๋์น๊ฐ ์์ผ๋ฏ๋ก ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์ญ์์ค.
git push origin master
6:
git pull
ํ์ฌ ๋ก์ปฌ ๋ธ๋์น์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์ ธ์ค๋ ค๋ ๊ฒฝ์ฐ.
7:
์ง์ ์ ๋ง๋ค๊ณ ์ถ์ ๋
git branch branch1
ํ์ฌ ์ปค๋ฐ์์ ์ ๋ธ๋์น ์ด๋ฆ branch1 ์์ฑ
๋ชจ๋ ์ง์ ์ ๋ณด๊ณ ์ถ์ ๋
git branch
๊ทธ๊ฒ์ ๋น์ ์ ์ง์ ์ ๋์ดํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ํ์ฌ ํ์ฑ ๋ถ๊ธฐ ์์ *๊ฐ ํ์๋ฉ๋๋ค.
PS D:\winter plan> git branch
* branch1
master
one
์ง์ ์ ์ ํํ๊ณ ์ถ์ ๋
git checkout branch1
๋ค๋ฅธ branch1๋ก ์ ํํ๊ณ ์์
๋๋ ํ ๋ฆฌ๋ก ํ์ธํ์ญ์์ค.
8:
๋ถ๊ธฐ๋ฅผ ๋ค๋ฅธ ๋ถ๊ธฐ ๋๋ ๊ธฐ๋ณธ์ผ๋ก ๋ณํฉ
git merge branch1
branch1 ๊ธฐ๋ก์ ํ์ฌ ๊ธฐ๋ก์ผ๋ก ๋ณํฉ
๋ถ๊ธฐ๋ฅผ ์ ํํ๋ ค๋ฉด ์์ ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํ๊ฑฐ๋ ์์๋ก ์์ ๋ฐ ์ถ์ ๋ ํ์ผ์ ์ ์ฅํ ์ ์์ต๋๋ค.
git stash
์์ ๋ช
๋ น์ ์์ ๋๊ณ ์ค๋น๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํ๊ณ ์๋ ๋ช
๋ น์ ์จ๊น ์คํ์ ์๋จ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฒ๋ฆฝ๋๋ค.
git stash drop
ํ๋ณตํ ๊ธฐํ
๐ฅ๐ฅ
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(์ด๋ณด์๐ฑ Git ๋ช
๋ น์ด), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/shahidalisiddiqui/beginner-git-commands-2bpb
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
์๋์ ์์ ๋ ํ์ผ์ด ์ถ๊ฐ๋ฉ๋๋ค.
git add myFile
myFile ํ์ผ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ค๋นํ๋ ค๋ ๊ฒฝ์ฐ.
git add . Or git add -A
๋ชจ๋ ์์ ๋ ํ์ผ์ ์ค๋นํ๊ณ ์ถ์ ๋.
2:
์๋์์ ํ์ผ์ ๋ณต์ํฉ๋๋ค.
git reset myFile
์์
๋๋ ํ ๋ฆฌ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์งํ๋ฉด์ ํ์ผ ์ธ์คํ
์ด์ง
์๋์๋ ์์ฑ์ ๋ฐ ์ด๋ฉ์ผ๊ณผ ๊ฐ์ ๋ชจ๋ ์ธ๋ถ ์ ๋ณด์ ํจ๊ป ๋ชจ๋ ์ปค๋ฐ์ด ํ์๋ฉ๋๋ค.
git log
์๋๋ ์ปดํฉํธํ ๋ฐฉ์์ผ๋ก ์ปค๋ฐ์ ๋ณด์ฌ์ค๋๋ค!, ์ปค๋ฐ ํด์์ ๋ฉ์์ง๋ง ๋ณด์ฌ์ค๋๋ค.
git log --oneline
์ผ :
git revert <commit hash>
์ปค๋ฐ์ ๋กค๋ฐฑํ๋ ค๋ฉด ์ ๋ช
๋ น์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค์ ๋ช
๋ น์ ์
๋ ฅํ์ฌ ๋ชจ๋ ์ปค๋ฐ์ ์ปค๋ฐ ํด์๋ฅผ ์ป์ ์ ์์ต๋๋ค. git log
4:
์๋์ ํ์ฌ ์ํ๊ฐ ํ์๋ฉ๋๋ค.
git status
์คํ
์ด์ง ๋๋ ์ถ๊ฐํ์ง ์์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: abcd.md
no changes added to commit (use "git add" and/or "git commit -a")
ํ์ผ์ ์ค๋นํ ๊ฒฝ์ฐ. ๊ทธ๋ฌ๋ฉด ๋ค์ ์ปค๋ฐ์ ์ํด ์ค๋น๋ ์์ ๋ ํ์ผ์ด ํ์๋ฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: abcd.md
5:
git push origin <branch>
์ต์ข
๋ณ๊ฒฝ ์ฌํญ์ ํน์ ๋ธ๋์น์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ํธ์ํ๋ ค๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง์คํฐ ๋ธ๋์น๊ฐ ์์ผ๋ฏ๋ก ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์ญ์์ค.
git push origin master
6:
git pull
ํ์ฌ ๋ก์ปฌ ๋ธ๋์น์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์ ธ์ค๋ ค๋ ๊ฒฝ์ฐ.
7:
์ง์ ์ ๋ง๋ค๊ณ ์ถ์ ๋
git branch branch1
ํ์ฌ ์ปค๋ฐ์์ ์ ๋ธ๋์น ์ด๋ฆ branch1 ์์ฑ
๋ชจ๋ ์ง์ ์ ๋ณด๊ณ ์ถ์ ๋
git branch
๊ทธ๊ฒ์ ๋น์ ์ ์ง์ ์ ๋์ดํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ํ์ฌ ํ์ฑ ๋ถ๊ธฐ ์์ *๊ฐ ํ์๋ฉ๋๋ค.
PS D:\winter plan> git branch
* branch1
master
one
์ง์ ์ ์ ํํ๊ณ ์ถ์ ๋
git checkout branch1
๋ค๋ฅธ branch1๋ก ์ ํํ๊ณ ์์
๋๋ ํ ๋ฆฌ๋ก ํ์ธํ์ญ์์ค.
8:
๋ถ๊ธฐ๋ฅผ ๋ค๋ฅธ ๋ถ๊ธฐ ๋๋ ๊ธฐ๋ณธ์ผ๋ก ๋ณํฉ
git merge branch1
branch1 ๊ธฐ๋ก์ ํ์ฌ ๊ธฐ๋ก์ผ๋ก ๋ณํฉ
๋ถ๊ธฐ๋ฅผ ์ ํํ๋ ค๋ฉด ์์ ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํ๊ฑฐ๋ ์์๋ก ์์ ๋ฐ ์ถ์ ๋ ํ์ผ์ ์ ์ฅํ ์ ์์ต๋๋ค.
git stash
์์ ๋ช
๋ น์ ์์ ๋๊ณ ์ค๋น๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํ๊ณ ์๋ ๋ช
๋ น์ ์จ๊น ์คํ์ ์๋จ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฒ๋ฆฝ๋๋ค.
git stash drop
ํ๋ณตํ ๊ธฐํ
๐ฅ๐ฅ
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(์ด๋ณด์๐ฑ Git ๋ช
๋ น์ด), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/shahidalisiddiqui/beginner-git-commands-2bpb
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
git reset myFile
git log
git log --oneline
git revert <commit hash>
์ปค๋ฐ์ ๋กค๋ฐฑํ๋ ค๋ฉด ์ ๋ช ๋ น์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค์ ๋ช ๋ น์ ์ ๋ ฅํ์ฌ ๋ชจ๋ ์ปค๋ฐ์ ์ปค๋ฐ ํด์๋ฅผ ์ป์ ์ ์์ต๋๋ค.
git log
4:
์๋์ ํ์ฌ ์ํ๊ฐ ํ์๋ฉ๋๋ค.
git status
์คํ
์ด์ง ๋๋ ์ถ๊ฐํ์ง ์์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: abcd.md
no changes added to commit (use "git add" and/or "git commit -a")
ํ์ผ์ ์ค๋นํ ๊ฒฝ์ฐ. ๊ทธ๋ฌ๋ฉด ๋ค์ ์ปค๋ฐ์ ์ํด ์ค๋น๋ ์์ ๋ ํ์ผ์ด ํ์๋ฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: abcd.md
5:
git push origin <branch>
์ต์ข
๋ณ๊ฒฝ ์ฌํญ์ ํน์ ๋ธ๋์น์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ํธ์ํ๋ ค๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง์คํฐ ๋ธ๋์น๊ฐ ์์ผ๋ฏ๋ก ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์ญ์์ค.
git push origin master
6:
git pull
ํ์ฌ ๋ก์ปฌ ๋ธ๋์น์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์ ธ์ค๋ ค๋ ๊ฒฝ์ฐ.
7:
์ง์ ์ ๋ง๋ค๊ณ ์ถ์ ๋
git branch branch1
ํ์ฌ ์ปค๋ฐ์์ ์ ๋ธ๋์น ์ด๋ฆ branch1 ์์ฑ
๋ชจ๋ ์ง์ ์ ๋ณด๊ณ ์ถ์ ๋
git branch
๊ทธ๊ฒ์ ๋น์ ์ ์ง์ ์ ๋์ดํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ํ์ฌ ํ์ฑ ๋ถ๊ธฐ ์์ *๊ฐ ํ์๋ฉ๋๋ค.
PS D:\winter plan> git branch
* branch1
master
one
์ง์ ์ ์ ํํ๊ณ ์ถ์ ๋
git checkout branch1
๋ค๋ฅธ branch1๋ก ์ ํํ๊ณ ์์
๋๋ ํ ๋ฆฌ๋ก ํ์ธํ์ญ์์ค.
8:
๋ถ๊ธฐ๋ฅผ ๋ค๋ฅธ ๋ถ๊ธฐ ๋๋ ๊ธฐ๋ณธ์ผ๋ก ๋ณํฉ
git merge branch1
branch1 ๊ธฐ๋ก์ ํ์ฌ ๊ธฐ๋ก์ผ๋ก ๋ณํฉ
๋ถ๊ธฐ๋ฅผ ์ ํํ๋ ค๋ฉด ์์ ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํ๊ฑฐ๋ ์์๋ก ์์ ๋ฐ ์ถ์ ๋ ํ์ผ์ ์ ์ฅํ ์ ์์ต๋๋ค.
git stash
์์ ๋ช
๋ น์ ์์ ๋๊ณ ์ค๋น๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํ๊ณ ์๋ ๋ช
๋ น์ ์จ๊น ์คํ์ ์๋จ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฒ๋ฆฝ๋๋ค.
git stash drop
ํ๋ณตํ ๊ธฐํ
๐ฅ๐ฅ
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(์ด๋ณด์๐ฑ Git ๋ช
๋ น์ด), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/shahidalisiddiqui/beginner-git-commands-2bpb
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: abcd.md
no changes added to commit (use "git add" and/or "git commit -a")
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: abcd.md
git push origin <branch>
์ต์ข ๋ณ๊ฒฝ ์ฌํญ์ ํน์ ๋ธ๋์น์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ํธ์ํ๋ ค๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง์คํฐ ๋ธ๋์น๊ฐ ์์ผ๋ฏ๋ก ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์ญ์์ค.
git push origin master
6:
git pull
ํ์ฌ ๋ก์ปฌ ๋ธ๋์น์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์ ธ์ค๋ ค๋ ๊ฒฝ์ฐ.
7:
์ง์ ์ ๋ง๋ค๊ณ ์ถ์ ๋
git branch branch1
ํ์ฌ ์ปค๋ฐ์์ ์ ๋ธ๋์น ์ด๋ฆ branch1 ์์ฑ
๋ชจ๋ ์ง์ ์ ๋ณด๊ณ ์ถ์ ๋
git branch
๊ทธ๊ฒ์ ๋น์ ์ ์ง์ ์ ๋์ดํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ํ์ฌ ํ์ฑ ๋ถ๊ธฐ ์์ *๊ฐ ํ์๋ฉ๋๋ค.
PS D:\winter plan> git branch
* branch1
master
one
์ง์ ์ ์ ํํ๊ณ ์ถ์ ๋
git checkout branch1
๋ค๋ฅธ branch1๋ก ์ ํํ๊ณ ์์
๋๋ ํ ๋ฆฌ๋ก ํ์ธํ์ญ์์ค.
8:
๋ถ๊ธฐ๋ฅผ ๋ค๋ฅธ ๋ถ๊ธฐ ๋๋ ๊ธฐ๋ณธ์ผ๋ก ๋ณํฉ
git merge branch1
branch1 ๊ธฐ๋ก์ ํ์ฌ ๊ธฐ๋ก์ผ๋ก ๋ณํฉ
๋ถ๊ธฐ๋ฅผ ์ ํํ๋ ค๋ฉด ์์ ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํ๊ฑฐ๋ ์์๋ก ์์ ๋ฐ ์ถ์ ๋ ํ์ผ์ ์ ์ฅํ ์ ์์ต๋๋ค.
git stash
์์ ๋ช
๋ น์ ์์ ๋๊ณ ์ค๋น๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํ๊ณ ์๋ ๋ช
๋ น์ ์จ๊น ์คํ์ ์๋จ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฒ๋ฆฝ๋๋ค.
git stash drop
ํ๋ณตํ ๊ธฐํ
๐ฅ๐ฅ
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(์ด๋ณด์๐ฑ Git ๋ช
๋ น์ด), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/shahidalisiddiqui/beginner-git-commands-2bpb
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
git pull
์ง์ ์ ๋ง๋ค๊ณ ์ถ์ ๋
git branch branch1
ํ์ฌ ์ปค๋ฐ์์ ์ ๋ธ๋์น ์ด๋ฆ branch1 ์์ฑ
๋ชจ๋ ์ง์ ์ ๋ณด๊ณ ์ถ์ ๋
git branch
๊ทธ๊ฒ์ ๋น์ ์ ์ง์ ์ ๋์ดํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ํ์ฌ ํ์ฑ ๋ถ๊ธฐ ์์ *๊ฐ ํ์๋ฉ๋๋ค.
PS D:\winter plan> git branch
* branch1
master
one
์ง์ ์ ์ ํํ๊ณ ์ถ์ ๋
git checkout branch1
๋ค๋ฅธ branch1๋ก ์ ํํ๊ณ ์์ ๋๋ ํ ๋ฆฌ๋ก ํ์ธํ์ญ์์ค.
8:
๋ถ๊ธฐ๋ฅผ ๋ค๋ฅธ ๋ถ๊ธฐ ๋๋ ๊ธฐ๋ณธ์ผ๋ก ๋ณํฉ
git merge branch1
branch1 ๊ธฐ๋ก์ ํ์ฌ ๊ธฐ๋ก์ผ๋ก ๋ณํฉ
๋ถ๊ธฐ๋ฅผ ์ ํํ๋ ค๋ฉด ์์ ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํ๊ฑฐ๋ ์์๋ก ์์ ๋ฐ ์ถ์ ๋ ํ์ผ์ ์ ์ฅํ ์ ์์ต๋๋ค.
git stash
์์ ๋ช
๋ น์ ์์ ๋๊ณ ์ค๋น๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํ๊ณ ์๋ ๋ช
๋ น์ ์จ๊น ์คํ์ ์๋จ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฒ๋ฆฝ๋๋ค.
git stash drop
ํ๋ณตํ ๊ธฐํ
๐ฅ๐ฅ
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(์ด๋ณด์๐ฑ Git ๋ช
๋ น์ด), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/shahidalisiddiqui/beginner-git-commands-2bpb
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
git merge branch1
git stash
git stash drop
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(์ด๋ณด์๐ฑ Git ๋ช ๋ น์ด), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/shahidalisiddiqui/beginner-git-commands-2bpbํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค