$ git config --global user.name "Kim"
$ git config --global user.email "email@email.com"
confirm
$ git config --global user.name
> Kim
$ git config --global init.defaultBranch main
List config settings
$ git config --list
> init.defaultBranch=main
> user.name=Kim
> user.email=email@email.com
Inspecting
$ git status
Saving changes & Commit
$ git add README.md
$ git commit
esc
: Switch to Command mode.i
: Switch to Insert mode.:q
+enter
: Quit without saving:q!
+enter
: Quit force without saving:wq
+enter
: Save and Quit
ex) git commit
-> i
-> first commit
-> esc
-> :wq
+ enter
$ git log
: Shows the commit logs 그동안 커밋한 내용을 보여줌
$ git diff
: Show changes between commits, commit and working tree, etc
k
: upj
: down:q
/q
: quit
$ git add .
$ git commit -m "Add text"
shortcut without untracked file
$ git am -add new line to text"
Fix typo in text
👍fix typo in text
🚫
Replace curry from pizza
👍Replace curry from pizza.
🚫
Add new line to pizza
👍Added new line to pizza
🚫Adding new line pizza
🚫
$ git reset --hard HASH
$ git revert HASH
📝 만약에 revert로 파일이 생성된 시점으로 돌아가게 되면
파일을 삭제할건지 추가할건지 물어본다. 이때 둘중 하나를 선택
$ git add <file name>
/ $ git rm <file name>
그리고 컨티뉴 해주면 됨
$ git revert --continue
아니면 중단
$ git revert --abort
파일의 내용이 바뀐 경우, 예를 들어 txt파일에 새로운 라인 생성/삭제가 아닌,
같은 라인에서 변화가 생겼을 경우, current/incoming/both change 를 accept 할 건지 물어봄.
List
$ git branch
Create 👉 Branching Naming Convention
$ git branch <branch-name>
Switch (checkout으로부터 분리되어 옴. checkout -> switch, restore)
$ git switch <branch-name>
Create & Switch
$ git switch -c <branch-name>
Delete
$ git branch -d <branch-name>
Rename
$ git branch -m <old-name> <new-name>
Merge
$ git merge <branch-name>
reset 으로 merge 이전으로 돌아갈수 있음! merge 된 branch 는 삭제
Rebase
$ git rebase <branch-name>
Pull (no rebase will just merge)
$ git pull --no-rebase
$ git pull --rebase
깃 브런치 로컬에서 생성 후 깃허브에 올리기
$ git branch from-local
$ git push
$ git push -u origin from-local
$ git branch --all
깃허브에서 브런치 생성후 로컬에 fetch하기
깃허브에서 브런치 생성
git branch --all
리모트에서 생성한 브런치가 보이지 않음
git fetch
git branch -a
리모트 생성된 브런치가 보임 리모트 브런치로 스위치
git switch -t origin/branch-name
원격 브런치 지우기
git push origin --delete branch-name