주제 : Git
내용 : Git 버전의 이론과 VS code를 활용하여 GUI 형태로 Git을 사용하는 방법을 알려주셨다. 추가로, CLI로 하는 법을 익히시는게 좋으시다고 하셔서 그렇게 할 예정이다.(업로드 예정)
Commit 은 새로운 버전을 만드는 행위를 말합니다. 현재 작업하고 있는 내용을 저장하고, 그것을 버전으로 커밋합니다.
git add 명령어는 3가지 의미가 있습니다.
첫 번째 : 파일을 Commit 대기 상태로 변경하는 역할을 합니다.
두 번째 : untracked 파일을 tracked로 변경하는 역할을 합니다. untracked 파일은 새로운 파일이나 Git이 추적하지 않았던 파일을 의미합니다. git add를 실행하면, 해당 파일의 변경사항이 추적되고, 커밋 대기 상태에 들어가게 됩니다.
세 번째 : git add를 실행하면, 파일의 변경사항을 일부만 스테이징하고 나머지는 나중에 추가할 수 있습니다. 이렇게 하면, 여러 작업을 구분하고 정리할 수 있습니다.
git add로 Commit 대기 상태가된 파일들이 저장되는 임시 공간을 Stage Area나 스테이징 영역이라고 합니다.
git은 Commit 대기 상태에 있는 파일들만을 새로운 버전으로 만들 수 있습니다. 해당 기능은 Git의 특징 중 하나입니다.
.git 폴더는 Git의 저장소(repository) 정보를 담고 있는 공간이며, 워킹 디렉토리는 개발자가 작업하는 영역입니다.
각각의 Git 버전은 그 버전이 만들어진 시점의 Stage Area의 스냅샷입니다. 스냅샷은 특정 시점에서 파일이나 디렉토리의 상태를 기록한 것을 의미합니다.
HEAD는 현재 작업 중인 버전을 가리키며, main은 가장 최신 버전을 가리킵니다. HEAD가 부모, 마지막 버전이 main이라고 할 수 있습니다.
git checkout 명령어를 사용하여 HEAD를 이동시킬 수 있고, 특정 Commit 상태로 이동할 수 있습니다.
Commit ID를 복사해두면, 무조건 복구할 수 있으며, 아래 코드를 사용할 수 있습니다.
git checkout <커밋ID>: 특정 커밋 상태로 이동
git checkout main: 최신 버전으로 이동
Git에서 branch를 새로 생성하면, 새로운 독립적인 작업 환경을 만들 수 있습니다. 그리고 각 branch는 base로부터 나뉘어집니다.
두 개 이상의 버전이나 base에서 동일한 파일의 동일한 부분을 수정한 경우 발생하는 충돌을 의미합니다. 쉽게 말해서, 동일한 파일에 다른 부분이 있다는 것을 뜻합니다.
원격 저장소와 로컬 저장소를 동기화하여, 다른 개발자와의 협업을 용이하게 합니다.
git pull은 원격 저장소에서 변경 사항을 가져오고 합치는 과정을 의미하고, git push는 변경 사항을 원격 저장소에 업로드하는 과정을 의미합니다.
앞으로 열심히 해보자 파이팅!