λͺ©μ°¨
0. gitμ΄ νμν μ΄μ
μ½λλ₯Ό μμ±νλ λμ€ μ΄μ μ μμ±νλ κ²μΌλ‘ λλμ κ°κ³ μΆμλκ° μμ κ²μ΄λ€.
μ΄λ΄λ νμΌμ λ°±μ ν΄λλ κ²λ μ’μ§λ§ λ²μ κ΄λ¦¬ μννΈμ¨μ΄λ₯Ό μ¬μ©νλ©΄λλ€.
λ²μ κ΄λ¦¬ μννΈμ¨μ΄(VCS) μ€ κ°μ₯ λ§μ΄ μ¬μ©νλ κ²μ΄ λ°λ‘ gitμ΄λ€.
μ₯μ 1. νλ‘μ νΈμ μκ°κ³Ό μ°¨μμ μμ λ‘κ² ν΄μ€λ€.
gitμ μ΄μ©νλ©΄ νλ‘μ νΈμ λ²μ μ κ³Όκ±°λ‘ λλ리거λ νΉμ ν λ΄μμ μ·¨μνλ κ²μ΄ κ°λ₯νλ€.
λν μ¬λ¬ λͺ¨λλ₯Ό μ½κ² μ ννκ³ κ΄λ¦¬νκ±°λ μ¬λ¬ λͺ¨λλ₯Ό ν©μΉλ κ²μ΄ κ°λ₯νλ€.
μ₯μ 2. νλ‘μ νΈ νμ μ μμ£Ό νΈλ¦¬νλ€.
μ¬λ¬ μ¬λμ΄ νλμ νλ‘μ νΈλ₯Ό μμ ν λ κ°μ μμ μ΄ λ§‘μ λΆλΆμ μμ νκ³
νλμ λ©μΈ νλ‘μ νΈμ ν©μΉλ κ²μ΄ κ°λ₯νκΈ° λλ¬Έμ νμ μ μμ£Ό νΈλ¦¬νκ² μ¬μ©ν μ μλ ν΄μ΄λ€.
1. CLI vs GUI
gitμ μ¬μ©νλ λ°©λ²μλ 2κ°μ§ λ°©λ²μ΄ μ‘΄μ¬νλ€.
CLI(Command Line Interface)λ λͺ λ Ήμ΄λ₯Ό μ λ ₯ν΄μ μ¬μ©νλ κ²μ΄κ³ ,
GUI(Graphical User Interface)λ κ·Έλν½ μμλ₯Ό νμ©ν μΈν°νμ΄μ€λ₯Ό νμ©νλ κ²μ΄λ€.
μ΄ λ μ€ μ΄λ€ κ²μ μ¬μ©ν΄μΌν κΉ?
κ°μΈμ°¨μΌ μ μμ§λ§
CLIμ κ²½μ° μ€νμ μν λͺ λ Ήμ μ¬μ©νλ κ²½μ° μ‘°κΈ λ κ°νΈν μ μκ³ ,
GUIμ κ²½μ° νλ‘μ νΈμ μνλ₯Ό μκ°μ μΌλ‘ μμΈν μ΄ν΄λ³Ό λ μ μ©ν μ μμ κ²μ΄λ€.
2. Git μ€μ
1) Git μ΅μ΄ μ€μ
- git μ μμΌλ‘ μ¬μ©μ μ΄λ¦, μ΄λ©μΌ μ£Όμ μ€μ (github κ³μ κ³Ό 무κ΄)
μ€μ μ ν΄λμ μ 보λ μμ ν λ΄μ©μ λν μμ±μ λ° μ΄λ©μΌμ νμνλ κ²μ΄λ€.
μ΄λ₯Ό ν΅ν΄ νλ‘μ νΈ νμ μ ν΄λΉ μ 보λ₯Ό μ΄μ©ν΄ μλ³ λ° μ°λ½μ μ·¨ν μ μλ€.
git config --global user.name "μ΄λ¦"
git config --global user.email "μ΄λ©μΌ"
- κΈ°λ³Έ λΈλμΉλͺ λ³κ²½
κΈ°λ³Έκ°μΌλ‘ μ€μ λ master, slaveμ λΈλμΉ λͺ μ λ€λ₯Έ μ΄λ¦μΌλ‘ λ³κ²½νλλ‘ κΆμ₯λκ³ μλ€.
git config --global init.defaultBranch main
λ°λΌμ ν΄λΉ λͺ λ Ήμ μ λ ₯νλ©΄ κΈ°λ³Έκ°μ mainμΌλ‘ λ³κ²½νλ€.
3. μμνκΈ° (μ€μΉ ν)
git init
ν°λ―Έλμμ μμ ν λλ ν 리μ μ λͺ λ Ήμ΄λ₯Ό μ λ ₯νλ©΄
gitμ΄ μ¬μ©μμ νμΌ μμ± λ° μ½λ μμ±μ μΆμ ν μ μλ νκ²½μ μΈν νλ€.
λν μ¨κΉνμΌμ νμΈνλ©΄ .gitλΌλ λλ ν λ¦¬κ° μμ±λ κ²μ νμΈν μ μλλ°
μ΄ μμ git κ΄λ¦¬ λ΄μμ΄ λͺ¨λ κΈ°λ‘λλ€.
4. add commit
νμΌμ κΈ°λ‘ν΄λκ³ μΆμ λλ add commit λͺ λ Ήμ΄λ₯Ό μ΄μ©νλ€.
git add νμΌλͺ
git commit -m "λ©μΈμ§"
μ΄μ²λΌ 2λ¨κ³λ‘ λλμ΄μ Έ μλλ° κ·Έ μ΄μ λ 무μμΌκΉ?
λ¨Όμ addλ κΈ°λ‘ν νμΌμ κ³ λ₯΄κ³ commitμ κ³ λ₯Έ νμΌμ κΈ°λ‘νλ λͺ λ Ήμ΄λ€.
μ΄λ Staging areaλ₯Ό κ±°μ³ Repositoryμ κΈ°λ‘μ νλ κ³Όμ μ κ±°μΉλλ°
κ·Έλ¦Όμ ν΅ν΄ μ΄ν΄λ³΄λ©΄ μλμ κ°λ€.
addλ₯Ό ν΅ν΄ κ³ λ₯Έ νμΌμ staging area λΌλ μμ 보κ΄μμ λκΈ° μνλ‘ λ³΄κ΄μ΄ λκ³
μ΄λ₯Ό commit νλ©΄ repositoryλΌλ μ μ₯μμ μ μ₯μ΄ λλ κ²μ΄λ€.
λ°λΌμ νμΌμ add νλ νμλ₯Ό staging μ΄λΌκ³ νλ€.
5. λͺ λ Ήμ΄ μ 리
1) μ¬λ¬ νμΌ λμ staging
git add νμΌ1 νμΌ2 ...
2) μμ λλ ν 리 λͺ¨λ νμΌ staging
git add .
. == νμ¬ λλ ν 리
3) μν보기
git status
νμ¬ λλ ν 리μ νμΌλ€μ λν staging λ μν, μμ μ 무 λ±μ νμ ν μ μλ€.
4) λ‘κ·Έ 보기
git log
commit κΈ°λ‘μ λ³Ό μ μλ€.
git log --all --oneline
git log --all --oneline --graph
--oneline μ΅μ μ μ΄μ©νλ©΄ ν μ€λ‘ μ 리ν΄μ 보μ¬μ€λ€!
--graph κΉμ§ μΆκ°νλ€λ©΄ mergeλ±μ ν λ΄μ©μ κ·Έλνλ‘ λ³΄μ¬μ€λ€.
'π» | CS > Git' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Git&Github] Git μ 리-5 (λ€μν mergeλ°©λ², 3way, fast-forward, rebase, squash, λΈλμΉ μμ ) (0) | 2023.10.29 |
---|---|
[Git&Github] Git μ 리-4 (branch, merge) (0) | 2023.10.29 |
[Git&Github] Git μ 리-3 (.gitignore) (0) | 2023.10.29 |
[Git&Github] Git μ 리-2 (w.VSCode, diff) (0) | 2023.10.28 |
λκΈ