● Git 과 Github의 관계와 기능
위에서 보이듯이 git은 local 즉 사용자의 컴퓨터를 말하고 github는 클라우드 상에서의 저장소를 뜻한다. 이렇게 git으로 협업 참여자가 개인 컴퓨터 혹은 사무실 컴퓨터로 작성한 코드를 온라인 상의 github 저장소로 업로드하고 다른 참여자는 github에 저장된 코드를 별도의 명령어로 받고 작성한 코드를 다시 github로 업로드하여 협업을 할 수 있게 해주는 버전 관리 도구이다.
친절하게도 작성자가 누구인지 이름, 이메일 등의 인적사항을 알 수 있고 무엇보다 코드를 작성하면서 어떤 부분이 수정되었는지, 언제 수정되었는지를 알 수 있게 해 줌으로써 협업을 원활하게 할 수 있게 해주는 도구이다.
● add, commit, push, pull의 동작 과정
Local 영역의 Working directory, Staging area Git directory
Working directory
Working directory 영역은 Untracked, Tracked 영역으로 다시 나뉘어져 있다. Untracked 영역은 git이 관리하고 있지 않은 파일이 있는 곳을 뜻한다. Tracked 영역은 commit 명령어나 add 명령어의 적용을 받은 파일들이 있는 곳으로 git이 관리하고 있는 영역이다.
git add 명령어 적용을 받는 파일들은 staging area 영역으로 보내진다. 또한 staging area 영역에 있던 파일이 modified 상태 즉 수정되거나 수정중인 파일이 되었다면 다시 working directory 영역으로 보내지게 된다. 수정된 파일은 다시 git add 명령어로 staging area 영역으로 보낸다. 여기서 git add 명령어는 변경된 파일들을 staging area 로 보내는 역할도 있음을 알 수 있다.
Staging area
Staging area 영역은 commit 명령어를 받을 준비가 된 파일들이 있는 곳으로 git commit 명령어의 적용을 받는 파일들은 git directory 영역으로 이동하게 된다.
Git directory
staging area 있던 파일들이 git commit 명령어에 의해 옮겨진 곳이 바로 git directory다. git remote add 명령어로 연동된 github의 github directory 로 보내기 위해서는 git push 명령어를 이용한다.
'Git & Github' 카테고리의 다른 글
Pull 과 Clone 의 차이점 (0) | 2022.07.01 |
---|---|
현재 폴더를 Github에 Commit & Push (0) | 2022.06.30 |
Gitbash를 이용한 기본적인 구성 (0) | 2022.06.30 |