✨ 오늘 공부한 것
- 알고리즘 대충 만든 자판 문제 풀기 - Git 특강 듣고 정리하기 - 노코드로 수익형 AI 앱 만들기 3주차
하나의 폴더 내에서 코드의 변경점을 기록하기 위해 사용한다. 에러 발생 시 과거의 코드 기록으로 쉽게 되돌아갈 수 있다.
백업과 공유, 협업이 가능한 온라인 코드 저장소를 말한다.
Git은 세 가지의 영역으로 변경 사항들을 관리한다고 한다.
사진에 나온 것과 같이, 작업 영역에서 git add
를 한 파일들은 Staging Area로 가게 되고, 이후에 git commit
을 해야 레포지토리에 올라가는 흐름이다.
도대체 왜 Staging Area를 굳이 거쳐서 레포지토리로 업로드 하는 걸까?
그 이유는 여러 상황에서 Staging Area라는 공간의 유용함이 있기 때문이다!
커밋 단위는 작으면 작을수록, 또 커밋한 파일들 간의 연관성이 높을 수록 나중에 확인하기 좋다. 다시 말해, 커밋을 체계적으로 할 수록 디버깅이 쉬워진다. Staging Area는 변경 사항들을 검토하고, 파일을 선택할 수 있는 기회를 준다. 그렇다. 실수를 만회할 수 있는 기회를 주는 것이다..! Staging Area가 있기 때문에 일부 파일만 add 하기도 편하고, add 한 파일들을 간단히 확인할 수 있다.
여러 파일에서 충돌이 발생했거나, 간단히 해결되지 않는 충돌이 발생했을 때도 Staging Area가 있기 때문에 일부분만 충돌을 해결해서 커밋을 할 수도 있고, 파일이 날라갈 불안함 없이 사용할 수 있다.
커밋 내역 수정은 좀 위험하다. 파일도 날릴 수 있고, 파일이 날라갈 수 있고, 파일이 공중 분해될 수 있기 때문이다! 물론 조심만 하면 할 수 있긴 하다.. 아무튼 Staging Area가 없다면 Working Derectory에서 냅다 바로 커밋을 하게 될 것이고, 검토할 겨를도 없이 저장소에 올라갈 것이고, 수정은 어려워진다. 그러나 Staging Area에 add 된 파일들은 다시 Working Directory로 되돌릴 수 있기 때문에 커밋 전에 수정할 수 있게 해주어 실수를 줄여준다.
길게 작성했지만 사실 세 가지 경우 모두 커밋 전에 코드를 검토할 기회를 주어 실수를 줄이고 커밋을 체계적으로 할 수 있게 도와준다는 내용이다.