Study Git
git 명령어
-
git init
git라는 소프트웨어가 작업폴더를 감시를 시작함
-
git add
작업파일을 add하여 staging area에 추가한다.
작업폴더에 있는 모든파일을 업데이트 하기위해서는 (git add .)
-
git commit
staging area에 추가된 파일을 repository에 옮긴다
-
git status
현재 깃 상태 확인(어떤 파일을 statgin 됬는지 수정됬는지 등등 상태를 알려준다)
-
git log –all –online
commit한 내역을 볼수 있다.
-
git diff , git difftool
최근 commit 현재파일 차이점 보여줌
-
git branch
commit의 복사
-
gir merge
branch된 명령들을 master, (main) 에 통합시켜준다 (똑같은 코드를 branch , main에 수정후 merge시 충)
-
3 - way - merge

두 branch를 합치는 방식
-
fast - forward - merge

master branch와 merge하려는 branch가 차이가 없을때 추가된 branch를 master branch로 바꾸는 방식
-
git branch -d [브렌치명]
branch 삭제하는 방법 , merge하지 않는 브렌치 삭제시 git -D branch -d
-
-
rebase
rebase는 브랜치의 시작점을 다른 commit으로 옮겨주는 행위입니다.

사용이유 : 브렌치가 많을시 git log 출력할때 복잡해보인다. 고로 rebase를 사용하여 짧거나 간단한 브렌치를 병합하기 좋음
단점 : confilict 충돌이 많이 발생할수 있다는 단점이 있음
-
일반 merge , rebase merge 차이
-
일반 merge
- 중심 브렌치로 이동
- git merge [새로운 브랜치명] 입력
-
rebase & merge
-
새로운 브렌치로 이동
-
git rebase [중심브랜치명] 입력
-
중심 브렌치로 이동
-
git merge [새로운 브랜치명] 입력
-
-
-
squash and merge
새로운 브랜치에 있던 commit 들을 연결해주는게 아니라 똑 떼와서 main 브랜치에 붙여주는것
squash and merge : 기존 merge 명령어에 –squash 옵션을 추가

- git restore [파일명]
최근 commit 된 상태로 현재 파일의 수정내역을 되돌림
- git restore –source 커밋아이디 파일명
입력한 파일이 특정 커밋아이디 시점으로 복구
-
git restore –staged 파일명
파일을 staging 취소
-
git revert [파일명]
커밋 했던 파일을 취소하여 취소한 내역을 새로운 commirt 으로 생성함
-
git reset [–hard, –soft, –mixed] 커밋아이디
해당 커밋이 생성된 떄로 모두 되돌려
-
git push
Git Repository에 내가 작성판 파일을 올리는 것, -u옵션을 추가하면 입력한 주소를 저장하라는것
- git remote add
remote add를 작성하면 추가하려는 주소를 해당 변수에 저장하여 사용할수 있음
- git pull
원격과 로컬 파일이 다를경우 push할수 없음. 고로 원격저장소와 로컬저장소를 합칠때 사용
pull은 git fetch + git merge 축약어 고로 conflict 발생가능
- git stash
코드를 잠깐 다른곳에 보관하는 방식 (Ex: 안쓰는 코드 주석)
stash pop을 하면 가장 최근에 stash한 파일을 다시 불러올수 있다.