오늘은 git을 사용하고 있지만 "git add", "git commit", "git push"는 구체적으로 무엇을 위한 명령어인지 생각해보고 사용하지 않아서 이번 기회에 확실하게 개념을 정리하고자 합니다!
git 구조
git add
git add [기록을 남기고 싶은 파일명]
git add는 add 뒤에 오는 수정된 파일들을 staging area(index area라고도 불림)로 옴기기 위한 명령어입니다.
staging area는 commit 이전에 기록을 남기고 싶은 관련된 파일들을 저장하는 공간입니다.
수정된 파일을 staging area로 옴기는 행위 == staging
git commit
git commit -m "commit 메시지"
commit은 repository(저장소)에 staging area에 저장된 변경된 파일들을 메시지와 함께 저장하는 것을 의미합니다.
git push
git push
git push는 로컬 저장소에서 원격 저장소로 변경 사항을 전송하는 것을 의미합니다.
이렇게 된다면 협업을 하는 맴버들이 변경사항을 확인할 수 있게 됩니다.
Example
여러 작업을 수행을 하였습니다. 특정 컴포넌트의 레이아웃을 수정하는 코드를 짰다던가 제대로 동작하지 않았던 코드를 디버깅했다던가 등등 수행을 했다고 가정하겠습니다.
이 상황에서 특정 컴포넌트의 레이아웃을 수정한 내용을 기록하고 싶습니다.
그러면 해당 목적을 달성하기 위해 수정된 파일들을 git add를 통해 선택하게 됩니다.(요때 파일들은 stage area로 이동!)
그리고 git commit을 통해 stage area에 저장된 파일들의 묶음은 "컴포넌트 레이아웃 수정" 메시지와 함께 기록을 남길 수 있습니다.(요때 메시지와 파일 묶음은 repository에 저장되게 됩니다.)
기록을 남겼다 == 버전 생성하였다
Xcode에서 git 이해해보기
여태까지 명령어를 작성해서 변경된 내용을 정리하는 것은 CLI 환경에서 수행된 것입니다.
Xcode에서는 GUI 형태로 버전 생성하는 기능을 제공합니다.
지금 상황은 왼쪽 네비게이터 영역에 수정된 파일의 리스트가 나타납니다.
그리고 편집기 영역에는 수정된 파일에 구체적으로 어떤 코드가 추가 혹은 삭제(해당 라인이 회색으로 칠해져 있음) 표시해주고 있습니다.
변경된 라인을 클릭하게 된다면 위와 같은 창이 뜨게 됩니다.
Stage Change를 누르게 된다면 git add 명령어와 같이 해당 변경된 부분을 staging하게 됩니다.
GUI git VS CLI git
여기서!! GUI 상에서 git을 사용하는 것과 CLI 상에서 git을 사용하는 것에 차이가 존재하게 됩니다.
그것은 바로 CLI 상에서는 폴더 기준으로만 staging을 해준다는 것입니다. 하지만 GUI 상에서는 코드 한줄한줄 staging이 가능하다는 장점이 있습니다.
그렇게 된다면 한 파일에서 두가지의 변경점이 발생하였을때 코드라인들을 선택해서 편리하게 commit을 진행할 수 있게됩니다!
Stage Change 버튼을 누르게 된다면 해당 코드는 stage area에 저장이 되고 해당 라인은 staging 되어다는 의미로 바탕이 파란색으로 변경되게 됩니다.
위에 commit message 텍스트 필드에 commit을 위한 메시지를 작성하고 오른쪽 commit 버튼을 누르게 된다면
commit -m "hello world 출력 기능 추가🥹" 명령어와 같은 기능을 수행하게 됩니다.
그리고 push 같은 경우 오른쪽 아래 화살표를 클릭하면 "commit and push" 버튼이 존재하고 commit과 push 동시에 진행하게 됩니다.
reference
Devops Online Training, Hyderabad, INDIA | www.newaxis.in
Devops Training for Devops tools GIT, Jenkins, Puppet, Ansible, Docker, Kubernetes Terraform on cloud Platform, NEWAXIS.IN online classes. this course is sutable for Freshers, Admins, Devolopers and Testers
www.newaxis.in
'Git 🐈' 카테고리의 다른 글
git) git(branch, switch, etc..) & Xcode 내 버전 관리 (0) | 2024.03.23 |
---|