위와 같이 자신이 어느 날 commit을 했는지 기록이 남으며, 몇 번의 커밋을 했는지 한 눈에 볼 수 있다.
Git은 왜 사용하는가❓
git을 사용하는 이유는 종전에 기록한 코드와, 그리고 현재 내가 작성한 코드가 있을 때, 현재의 코드를 테스트를 해보고, 또 현재 작성한 코드가 오류가 발생한다면, 이전의 코드로 되돌릴 수 있고, branch의 개념을 사용해 테스팅을 지속적으로 함으로써, 완전한 코드들만 레포지토리에 작성할 수 있다는 것이다. 이러한 이유로 여러 사람들과 협업이 필요할 때, 굉장히 편리하다는 장점이 있다.
[출처 : 강의 교안이미지..]
위와 같이 기능을 추가함에 따라서, 파일이 추가가 되는데, 이 부분에서 복잡성을 줄이고, git을 통해 cloud상에서 코드를 관리할 수 있어서 편하다는 게 장점이다.
🔗 Github flow
working directory 는 vscode와 같이 개발자가 현재 작업하는 공간을 말한다.
staging area는 working directory에서 작업한 내용 혹은 수정사항을 1차적으로 기록해두는 공간이다.
local repository는 git commit -m "커밋메세지"
명령어를 통해서 1차 변경 사항들이 최종적으로 저장된다. 그리고 git push
를 통해서 remote repository로 이동된다.
다른 사람들과 공유가능한 레포지토리
☑️ 내 코드를 Github에 올리기
여기서 초록색 New를 누르고 Public(공개) 혹은 (Private)로 레포지토리를 생성한다.
git clone [만든 깃허브 레포지토리 주소]
git clone을 통해서 바탕화면이나 특정 폴더에 만든 레포지토리를 가져온다. 처음에 가져온 레포지토리는 비어있는 폴더라고 생각하면 됨
레포지토리 폴더에 코드 작성 후 git add .
working directory에 있는 변경 사항을 staging area에 옮기기 위해서 git add .
를 한다. git add .
는 모든 변경사항을 옮기는 것이고, .
이 아니라 git add [파일명]
을 입력하면 그 파일만 옮겨진다.
git commit -m "커밋 메세지"
staging area에 옮겨진 저장사항들을 로컬 레포지토리로 옮긴다.
git push
or git push origin main
변경 사항들을 모두 remote 레포지토리로 보내버린다.
git pull
pull은 혼자 작업할 때는 자주 사용되지는 않는거 같은데, 여러명이 협업을 진행할 때는 작업전에 pull하는 것이 필수이다.
내가 새벽에 작업한 ver1
로 이어서 작업하고 push를 했다. ver1 이어작업 가나다라
라는 코드를 아침에 김씨가가나다라랄라
로 올려놨음가나다라
에서 가나다라면먹고싶다
로 해서 올릴려니 가나다라랄라
와 맞지 않아서 conflict 가 발생한 것이다.