일단 작업폴더에서 git을 이용하고 싶으면 git init
부터 입력
git add 파일명 (. / 전체)
git commit -m "message"
git add .(파일명)
git commit -m "수정했다"
(버전생성이라고도 함)
스테이징(staging)
함 => commit 할 파일 골라놨다는 뜻지금 변경된 파일, 스테이징된 파일 이런걸 쭉 알려줍니다.
스테이징된 파일을 취소하고 싶으면 입력.
터미널에서 자주 알려주는 명령어라 외울 필요는 없다
git log 를 이용하면 커밋기록을 한눈에 볼 수가 있다
git log (—all —oneline —graph)
—graph
를 넣으면 그래프로 그려줌
입력 후엔 vim에디터가 켜져서 j,k
로 위아래 스크롤, q
키로 종료
git log --graph --oneline --all
branch
와 commit
내역을 한 눈에 그래프로 보고 싶으면 이거 입력해보면 됩니다.
차이점 출력 : 현재파일이 최근 commit과 어떤 부분이 달라졌는지 알려줌
vim 에디터 켜져서 마찬가지로 j,k,q
commit된 파일상태와 현재 수정중인 상태 비교
git diff
commit된 파일상태와 add된 파일 상태 비교
git diff --staged
commit간의 상태 비교하기 - commit hash 이용
git diff [비교할commit해쉬1] [비교할commit해쉬2]
commit간의 상태 비교하기 - HEAD 이용
ex) git diff HEAD HEAD^
가장 최근의 커밋과 그 전의 커밋을 비교한다
branch간의 상태 비교하기 - HEAD 이용
git diff [비교할branch1] [비교할branch2]
근데 스페이스바, 엔터친것도 다 수정사항으로 알려주니까 쓰레기 같음 생으로 쓰지마라
git difftool
을 쓰면 조금 더 보기 좋다
git difftool 커밋id1 커밋id2
로 특정 commit 2개의 차이점을 비교해줌
안전하게 새로운 기능을 추가하고 싶으면
프로젝트의 복사본을 만들어서 거기에 먼저 개발하는 것. => branch
git branch 이름
git switch 이름
(브랜치로 이동)
git status
- > on branch 이름 이라고 뜬다
git switch main(master)
메인브랜치로 이동 -> 그러면 이름은 없음
git merge 작명(합칠 브랜치명)
합칠 때 주의사항이 있는데
master
브랜치와 coupon
브랜치에서 같은 파일, 같은 줄을 수정했을 경우 merge conflict
가 발생
이 경우 에디터로 해당 파일을 열어보면 충돌사항이 적혀있으니 그대로 해결하면 된다
git branch -M main
입력하면 기본 브랜치 이름이 변경
github.com은 이제 기본 브랜치 이름을 master가 아니라 main으로 사용하라고 해서 내 로컬 작업폴더에 있는 기본 브랜치 이름도 main으로 변경
git push -u 저장소주소 main
-u
옵션은 방금 입력한 주소 기억해두라는 뜻. 다음부터는 주소를 길게 입력안하고 git push
만 입력해도 잘 됨
원격저장소주소 길게 입력하는게 귀찮으면 그 주소를 변수에 저장해서 사용
git remote add 변수명 저장소주소
git pull 원격저장소주소
git pull
하고 나서 git push
하면 됩니다.저장소에 올리지 않는 파일들은 .gitignore
거기 명시한 파일들은 git add . 해도 스테이징이 되지 않아서 편리