프로그래머스 데브코스, 국비지원교육, 코딩부트캠프
오늘은 Git에 대하여 공부하였다. Git이 무엇인지, Git 설치하는 방법, 또 Git에서 자주 사용하는 명령어 등을 배울 수 있었다.
버전 관리 시스템. 흔히 Version Control System, 줄여서 VCS로 많이 부른다. 다양한 변경점을 관리해주는 소프트웨어로 백업이나 복구, 협업 등을 할 수 있는, 어찌보면 개발자들에게는 필수적인 시스템이라고 볼 수 있다.
버전 관리 시스템의 종류에는 로컬 VCS, 중앙집중식 VCS, 분산 VCS가 있다.
말 그대로 로컬 컴퓨터 내에서 버전을 관리하는 것이다. 서버가 따로 존재하지 않고 내 컴퓨터 내에서만 백업과 복구가 가능하다. 내 로컬 내에서만 관리할 수 있기 때문에 협업이 불가능하다. 하지만 협업이 필요하지 않은 작은 개인 프로젝트에는 적합할 수 있다.
서버가 존재한다. 중앙 컴퓨터, 즉 서버에 모든 정보가 담겨 있고 사용자들은 필요한 파일을 로컬에 가져와 수정을 거친 후 다시 서버로 올린다.
협업이 편리하고 사용이 어렵지 않지만, 서버에 문제가 생긴다면 작업이 불가능하다는 치명적인 단점이 있다.
예시로는 SVN이 있다. 최근에는 Git을 사용하는 회사가 많아지긴 했지만 아직 SVN을 사용하는 회사도 많은 걸로 알고 있다. 실제로 내가 짧게 인턴을 했던 회사도 SVN을 사용했고...
중앙집중식 VCS와 마찬가지로 분산 VCS도 서버가 존재하지만 저장소, 즉 프로젝트 전체를 로컬로 가져온 후 수정을 하게 된다. 서버에 문제가 생겨도 사용자들은 각 로컬에서 관리하기 때문에 안정적인 작업이 가능하다. 마찬가지로 협업이 편리하고, 머지할 때 충돌만 신경써주면 된다. 은근 자주 일어남
대표적인 예시로는 역시 Git이 있겠다.
개발 공부를 하면서 다들 Git에 대해서는 한 번씩 들어봤을 거라고 생각한다. 크고 작은 프로젝트를 하면서 Git을 쓰지 않은 사람을 더 찾기 힘들 정도로... 관련 학과에서도 Git을 각 잡고 가르치는 학교는 드물지만 졸업 때까지 한 번도 쓰지 않는 사람은 더 드물다. 교수님들도 당연히 알고 있다고 생각하신다. 그만큼 개발자들에게 있어 기본적이고 절대적인 시스템이 되지 않았나 감히 생각해본다.
Git하면 아무래도 자연스럽게 Github가 함께 언급이 된다. Git은 VCS, 즉 버전 관리 소프트웨어고, Github는 Git을 사용하는 프로젝트를 지원해주는 호스팅 서비스다. 다른 사람들과 소스코드를 공유할 수 있고 직관적인 유저 인터페이스를 통해 이용자들의 편의성도 높였다. Git 호스팅 사이트에는 Github만 존재하는 건 아니다. 실제로 내가 학교에 다닐 때는 Gitlab도 많이 이용했다.
CLI는 Command-Line Interface의 약자다. 셸에서 글자를 입력하여 컴퓨터에게 명령을 내리는 것이다. 대표적으로는 윈도우에서는 cmd를 들 수 있고, 맥에서는 터미널을 들 수 있다.
GUI는 Graphic User Interface로 그래픽으로 컴퓨터에게 명령을 내릴 수 있게 하는 거다. 간단하게 예시를 들자면 바탕화면에서 아이콘을 클릭했을 때 해당되는 명령이 실행되는 것을 들 수 있다.(ex. 크롬 아이콘을 더블클릭 했을 때 크롬 실행) 즉, 우리가 컴퓨터를 하면서 행하는 대부분의 행동이 GUI라고 볼 수 있다.
Git은 CLI를 이용한다. 맥/리눅스 사용자는 터미널을 사용하면 되지만 윈도우 파워쉘에서는 리눅스 명령어를 사용할 수 없기 때문에 보통 Git Bash를 사용하거나 vscode 내의 터미널을 이용한다. 나는 vscode 내의 Git Bash 터미널을 이용하였다.
ls
ls -a
ls -l
✔️ 참고로 위 명령어들은 함께 쓸 수 있다. ls -al 등으로 사용한다면 숨김 파일을 전부 보여주고 파일의 정보를 더 상세하게 볼 수 있다.
mkdir
cd
위처럼 현재 위치가 최상위 위치로 이동한다.
cd 이동하고 싶은 하위 디렉토리
cd /경로
cd ..
git --version
git status
위처럼 현재 상태를 알려준다. 난 commit을 하지 않아서 아직 commit이 되지 않았고, commit을 하기 위해서는 git add가 필요하다고 친절하게 알려주고 있다!
git을 사용하면서 정말 자주 쓰는 명령어다.
git init
정상적으로 git이 생성되었다면 ls -a 명령어를 이용해보자. 기본적으로 .git 디렉토리는 숨김 파일이기 때문에 보이지 않는다. 하지만 숨김 파일까지 전부 보여주는 -a 명령어를 사용하면 정상적으로 .git 디렉토리가 생성되었는지 확인할 수 있다.
Git을 사용하다보면 이 외에도 사용하는 명령어들이 아주 많지만, 우선 오늘 배운 것 위주로 정리해보았다. 단순히 보기만 하지 않고 직접 실습을 하면서 익히는 게 훨씬 빠르게 배울 수 있다고 생각한다.
🍀내일도 힘내자!🍀