Gitμ μμμ ν¬κ² λκ°μ§ Tracked area μ Untracked areaλ‘ λλ μ§λ©°,
Tracked areaλ νμ ν μΈκ°μ§ μνλ‘ λλμ΄μ§λ€.
unmodified (μμ λμ§ μμ)
κΈ°μ‘΄ 컀λ°νλ νμΌμ μμ νμ§ μμ μν
λ¬Έμ κ° μμμ git status λͺ
λ Ήμ΄λ‘ νμΈλμ§ μλλ€.
modified (μμ λ¨)
κΈ°μ‘΄ 컀λ°νλ νμΌμ μμ ν μν
staged
modified νμΌμ stageμ μΆκ°ν μν(push λκΈ° μ§μ μ μν)
$ git push
λͺ
λ Ήμ΄λ₯Ό μ¬μ©ν λ
$ git push remoteRepository localBranchToPush
μ λͺ
λ Ήμ΄λ‘ νΈμνκ³ λ νλ€.
remoteRepository
λΌλ μ격 μ μ₯μμ localBranchToPush
λΌλ μ΄λ¦μ λ‘컬 λΈλμΉλ₯Ό νΈμν΄μ μ격 μ μ₯μμλ localBranchToPush
λΌλ μ΄λ¦μ λΈλμΉλ₯Ό λ§λ€κ³ λ‘컬 λΈλμΉμ λ΄μ©μ 볡μ¬νκ±°λ μ΄λ―Έ κ°μ μ΄λ¦μ λΈλμΉκ° μλ€λ©΄ λ‘컬 λΈλμΉμ λ°μ΄ν°λ‘ κ°±μ νλ€.
$ git push -u remoteRepository localBranchToPush
μ κ°μ΄ -u
μ΅μ
μ μ¬μ©ν λκ° μλ€.
μ΄λ μ°¨νμ git push
λλ git pull
μ ν λ μλμ μΌλ‘ remoteRepository
μ λ€κ° localBrachToPush
λΌλ μ΄λ¦μ λΈλμΉλ₯Ό push
νκ±°λ pull
νκ² κ²½λ‘λ₯Ό μ μ₯νλ μ΅μ
μ΄λ€.
$ git fetch
λ μ격 μ μ₯μμ μ΅μ μ 보λ₯Ό κ°μ Έμ€λ λͺ
λ Ήμ΄μ΄λ€.
$ git pull
κ³Ό μ μ¬νμ§λ§ μ°¨μ΄μ μ git pull
μ μ격 μ μ₯μμ μ΅μ μ 보λ₯Ό κ°μ Έμμ λ³ΈμΈμ λ‘컬λ ν¬μ λ³ν©κΉμ§ ν΄λ²λ¦¬μ§λ§, git fetch
λ μ΅μ μ 보λ₯Ό κ°μ Έμ€κΈ°λ§ νκ³ λ³ν©μ νμ§ μλλ€.
$ git fetch
λͺ
λ Ήμ΄λ‘ κ°μ Έμ¨ μ΅μ μ 보λ₯Ό νμΈνκ³ μΆλ€λ©΄ $ git checkout FETCH_HEAD
λͺ
λ Ήμ΄λ‘ ν΄λΉ λΈλμΉλ‘ μ§μ
ν μ μλ€.
μ¬κΈ°μ κ²°κ΅ $ git checkout localBranch
μ΄ν $ git merge FETCH_HEAD
λ₯Ό νκ²λλ©΄ $ git pull
κ³Ό λκ°μ μ§λ κ²μ΄λ€.
μ΅μ 컀λ°κ³Ό λΉκ΅ν΄ νμ¬ νμΌμ λ€λ₯Έ λΆλΆμ νμΈνλ λͺ
λ Ήμ΄
staged areaμ μλ νμΌ(add λ)μ λΉκ΅ν μ μλ€.
μ΅μ
μ μ¬μ©νλ©΄ staged areaλ μ‘°νν μ μλλ°
--cached
μ --staged
λ₯Ό μ΄μ©νλ©΄ λΉκ΅ν μ μλ€.
κΉμ μ μ₯λ νμΌμ μμ νλ λͺ λ Ήμ΄.
$ git rm fileName
μΌλ‘ μμ ν κ²½μ°λ 리λͺ¨νΈμ λ‘컬 λͺ¨λμμ μμ λμ§λ§
$ git rm --cache fileName
μΌλ‘ μμ ν κ²½μ°λ 리λͺ¨νΈμμλ§ μμ λκ³ λ‘컬μλ λ¨μμλ€.
$ git rm --cache .dirName/
dirNameμ΄λΌλ λλ ν 리 μμ .
$ git rm --cache .dirName/fileName
λλ ν 리 λ΄ fileName νμΌ μμ .
κΉμ 컀λ°μ μ·¨μνλ λͺ λ Ήμ΄
$ git reset HEAD^ (HEAD^ === HEAD~1)
// μ§μ μ 컀λ°μ μ·¨μνκ³ μ»€λ° μ§μ μΌλ‘ λμκ°.
$ git reset HEAD~3 (HEAD^^^ === HEAD~3)
// μ΅μ 3κ° μ»€λ°μ μ·¨μνκ³ μ§μ μΌλ‘ λμκ°.
$ git reset logId
// logId μ리μ git logμ λμ€λ SHA-1 체ν¬μ¬μ μ 6μ리 μ
λ ₯νλ©΄ ν΄λΉ 컀λ°κΉμ§ μ·¨μνκ³ κ·Έ μ§μ μΌλ‘ λμκ°.
리μ λͺ λ Ήμ΄λ₯Ό μ¬μ©νκ³ μ격 μ μ₯μμλ μ μ©μν€λ €λ©΄ push λͺ λ Ήμ΄λ₯Ό μ¬μ©ν λ -f μ΅μ μ λ£μ΄ κ°μ λ‘ μ μ©μμΌμΌ νλ€.
$ git reset HEAD~1 --soft
// μ§μ 컀λ°μ μ·¨μνκ³ μ§μ 컀λ°λ νμΌλ€μ staged μνλ‘ μνΉ λλ ν 리μ λ¨κΉ. ( git add λ μν )
$ git reset HEAD~1 --mixed
// κΈ°λ³Έ κ°μΌλ‘ μ΅μ
μ λ£μ§μμΌλ©΄ ν΄λΉ μ΅μ
μΌλ‘ 리μ
λλ€.
// μ§μ 컀λ°μ μ·¨μνκ³ ν΄λΉ 컀λ°μμ 컀λ°λ νμΌλ€μ untracked μνλ‘ μνΉ λλ ν 리μ λ¨κΉ. ( git add λκΈ° μ μν )
$ git reset HEAD~1 --hard
// μ§μ 컀λ°μ μ·¨μνκ³ ν΄λΉ 컀λ°μμ 컀λ°λ νμΌλ€μ μνΉ λλ ν 리μμ μμ λ¨.
// λ€λ₯Έ μ΅μ
μ μμ μ¬νμ΄ λ¨μμμ§λ§ --hard μ΅μ
μ μμ νλ μ¬νμ΄ κΉλνκ² μμ λ¨.
μλ₯Ό λ€μ΄ 컀λ°νκ³ νΈμ¬νλ κ³Όμ μμ μ격 μ μ₯μ(Github like)μ test.jsλΌλ νμΌμ΄ κ°μ΄ νΈμ¬λμλ€κ³ κ°μ νμ.
$ git rm --cache test.js
λͺ
λ Ήμ΄λ‘ μ격 μ μ₯μ λ΄μ μλ νμΌ μμ
ν΄λΉ λͺ
λ Ήμ΄λ₯Ό μ
λ ₯νκ³ git status λͺ
λ Ήμ΄λ₯Ό μ¬μ©νλ©΄ μ격μ μ₯μμ test.jsλ₯Ό μμ νλ€λ κ²μ΄ μ€ν
μ΄μ§μ μκ³ , λ‘컬 νμΌμ untracked μνλ‘ git μΆμ μμ λΉ μ§κ² λλ€.
$ git commit -m 'commit message'
λͺ
λ Ήμ΄λ‘ μ»€λ° λ©μΈμ§λ₯Ό λ¨κΈ΄λ€.
$ git push origin branchName
λͺ
λ Ήμ΄λ‘ ν΄λΉ λ΄μ©μ μ격 μ μ₯μμ νΈμ¬νλ€.
μ μ ν λ°©μμ΄ μλ μμ 컀λ°μ체λ λ¨κΈ°κΈ° μ«μ κ²½μ°κ° μλ€.
κ·Έλ΄ κ²½μ°μλ λ‘컬μ 컀λ°μ μμ κ³ ( = 컀λ°μ μ λ¨κ³λ‘ λλλ¦¬κ³ ) ν΄λΉ λ΄μ©μ κ°μ λ‘ νΈμ¬ν΄μ μ μ©μν€λ©΄ λλ€.
$ git reset HEAD^
λͺ
λ Ήμ΄λ‘ κ°μ₯ μ΅κ·Ό 컀λ°μ μ·¨μνκΈ°.
$ git push origin branchName
μΌλ‘ νΈμ¬νκΈ°.
λ§μ½ νμΌμ μμ ν 컀λ°μ μ§μ°κ³ νμΌμ 볡ꡬνκ³ μΆλ€λ©΄ $ git checkout deletedFileName
μΌλ‘ 볡ꡬνκΈ°.
$ git commit --amend
λ₯Ό μ
λ ₯νλ©΄ κΈ°λ³ΈμΌλ‘ μ€μ ν CLI ν
μ€νΈ νΈμ§κΈ°(κΈ°λ³Έκ°μ vim)κ° λμ¬ κ²μ΄κ³ , ν΄λΉ ν
μ€νΈ νΈμ§κΈ°λ‘ λ³κ²½ ν μ μλ€.$ git init
λͺ
λ Ήμ΄λ‘ νμΌλ€μ΄ μμΉν λλ ν 리λ₯Ό λ‘컬 λ ν¬μ§ν λ¦¬λ‘ λ§λ λ€. ( κΉμ κ΄λ¦¬ νμ λλ€. )
κΉνλΈμ λ ν¬μ§ν 리λ₯Ό μλ‘ λ§λ€κ±°λ ν¬ν¬νλ€.
$ git remote add shortName repositoryAddress
λ₯Ό μ΄μ©ν΄μ μ격 μ μ₯μμ μ°κ²°νλ€.
shortName
μ ν΄λΉ μ격μ μ₯μμ λ³λͺ
μΌλ‘ λ³ΈμΈμ μ μ₯μλ λ³΄ν΅ originμΌλ‘ μ€μ νλ©° λ§μ½ λ³ΈμΈμ λ ν¬κ° λ€λ₯Έ λ ν¬μ ν¬ν¬λΌλ©΄, κ·Έ μλ₯κ° λλ λ ν¬λ₯Ό λ³΄ν΅ upstream(μλ₯)
λ‘ μ€μ νλ€.
$ git remote -v
λ‘ μ°κ²°μ΄ μ λμλμ§ νμΈνλ€.
+ λ³ΈμΈμ μ격 μ μ₯μλΏλ§ μλλΌ νμΈμ μ격 μ μ₯μλ μ°κ²°νκ³ pull
νκΈΈ μνλ κ²½μ° ( ν¬ν¬ μλ³Έμ μλ‘ μ€λͺ
)
$ git remote add upstream upstreamRepoAddress
λ‘ λ‘컬 λ ν¬μ μ°κ²°νλ€.
$ git fetch upstream
λͺ
λ Ήμ΄λ‘ upstream μ격μ μ₯μμ μ 보λ₯Ό λ°μμ¨λ€.
$ git checkout master
λͺ
λ Ήμ΄λ‘ λ΄ λ‘컬 λ ν¬μ master λΈλμΉλ‘ μ΄λνλ€.
$ git merge upstream/master
λͺ
λ Ήμ΄λ‘ λ λΈλμΉλ₯Ό ν©λ³μν¨λ€.
upstreamμ λ ν¬λ₯Ό μλ‘ λ§λ€κ±°λ ν¬ν¬ν λ³ΈμΈμ μ격 μ μ₯μμ pushνκΈΈ μνλ€λ©΄ $ git push origin master(main)
μΌλ‘ νΈμνλ€.
$ git remote -v (--verbose)
λͺ
λ Ήμ΄λ₯Ό μ΄μ©ν΄ μ°κ²°μ ν΄μ ν μ격μ μ₯μλ₯Ό νμΈνλ€.
$ git remote remove shortName
λͺ
λ Ήμ΄λ₯Ό μ¬μ©νλ©΄ shortName
μΌλ‘ μ°κ²°ν μ격μ μ₯μμ μ°κ²°ν΄μ λλ€.
λκ°μ§ λ°©λ²μ΄ μλ€.
$ git restore fileName (.)
// νμΌμ μ νν΄μ 볡ꡬν μ μλ λ°©λ², fileName μ리μ '.' dotμ λ£μΌλ©΄ μ λΆ μ΄κΈ°ν μν¬ μ μλ€.
$ git reset HEAD --hard
// μ΅μ 컀λ°μ λ΄μ©μΌλ‘ λ³κ²½λ λ΄μ© μ λΆ μ·¨μνκ³ μ볡μν€λ λ°©λ²
μ΄μ λ²μ κΉμ 곡λΆνκΈ΄ νμλλ° μ€λ 곡λΆν¨μΌλ‘μ λκ° λ κΉμ΄λ μΉν΄μ‘λ€.
κΉ κ³΅λΆνλλΌ λ€λ₯Έ 곡λΆλ€μ κ±°μ λͺ»νλ€.
λΈλ‘κΉ
νλλ° html, css νκ·Έ μ¬μ©νλ κ²μ κΉ¨λ¬μλ€κ³ μκ°νμ§λ§ μ€μ ν¬μ€νΈμμ μ μ©λμ§ μλλ€.
μ€λμ Gitμ λ€μ νλ² λ°°μ λ€.
μ΄μ λ²μ μ§μ§ μ무 κ²λ λͺ¨λ₯΄λ μνμμ 무μμ λ°λΌνκΈ°λ‘ git status, git add -A git commit -m λ±λ± μ§μ§ κ°λ¨ν κ²λ§ μ¬μ©νλ€.
μ¬μ©νλ©΄μ git status λͺ
λ Ήμ΄λ‘ μν보며 modifiedλ νμΌλ€μ΄ λκ° μμ λμλμ§λ λͺ¨λ₯΄κ³ μ΄λ»κ² μμ λκ±Έ 보λμ§λ λͺ¨λ₯΄κ³ 무μμ μ»€λ° - νΈμ ν΄λ²λ Έμλ€.
κ·Έλλ μ€λ μ’ λ λ°°μ΄κ±Έλ‘ 무μ§μ± 컀λ°κ³Ό νΈμλ μ€μ΄λ€ λ― νλ€
λΈλ‘κΉ
μ HTML, CSS νκ·Έλ₯Ό μ΄μ©νλ©΄μ λκ° λ μ½κΈ° μ’κ² ν¬μ€ν
ν μ μκ²λ λλμ΄λ€.
μμ§μ λͺ
λ Ήμ΄ μ리μ μ€νμΌ μ£Όλκ² νκ³μ§λ§ μ μ λμ΄λκΈΈ κΈ°λνλ€.
λ λ¬΄μ¨ λ―Έλ¦¬λ³΄κΈ°μμλ μ μ©λμ§ μ€μ ν¬μ€νΈμμ μ μ©λμ§ μλλ€.
κΉμ μ΄μ μ ν¬μ€ν νκ±°λ λ€ μ 리ν΄μ OiMW μ리μ¦λ‘ λ€μ νλ² λ³΄κΈ°μ’κ² μ 리 ν΄λ΄μΌκ² λ€.
codestates urClass
http://www.notforme.kr/
https://gmlwjd9405.github.io/