# git command

git은 기본적으로 Git GUI와 Git Command를 지원합니다.

이번 스터디에서는 Git GUI가 아닌 Git Command를 사용하는데, 왜 Git Command를 사용하는지 설명하고 넘어가겠습니다.

### **Git GUI**

* 장점
  * 쉽게 배울 수 있다.
  * 직관적이라 편하게 기능을 사용할 수 있다.
* 단점
  * git에 있는 모든 기능을 사용할 수 없다.
  * 마우스로 클릭할 일이 많아져서 개발 따로 커밋 따로 진행해야 한다.

**GUI (Graphic User Interface)**&#xB294; 우리가 현재 보고 있는 깃북과 같이 시각적으로 편하게 볼 수 있고, 마우스 클릭으로 편하게 다룰 수 있다는 장점이 있습니다. 하지만 개발을 하면 대부분 마우스를 사용하지 않고, 양손을 전부 키보드에 두어 코드를 작성하게 됩니다. 이 과정에서 커밋을 보낼 때마다 손을 마우스에 이동하고.. 클릭하고.. 이런 일을 하루에 수십 번 반복한다고 생각해보세요. 어느 정도의 시간적 손실이 생길까요..?? 그리고 GUI에서는 지원하지 않는 기능이 존재하는데, 이때는 그러면 CLI를 사용해야 하니까 두 가지를 섞어서 사용해야 할까요..??



### Git CLI

* 장점
  * git에 있는 모든 기능을 사용할 수 있다.
  * 마우스를 클릭할 일이 없어 효율적으로 업무에 집중할 수 있다.
* 단점
  * GUI보다는 배우기가 힘들다.
  * GUI보다는 직관적이지 않아 에러가 나오면 구글링 해야 한다.

**CLI (Command Line Interface)**&#xC758; 경우엔 터미널과 같습니다. 그래서 처음엔 많이 헷갈릴 수도 있고, 에러 로그가 나오면 당황할 수도 있습니다. 하지만 나중에 익숙해지면 이거만큼 편한 것도 없고, 무엇보다 키보드에 손을 뗄 필요가 없어집니다. IntelliJ 윈도우 기준으로 Alt + 1 → D → 터미널에서 필요한 내용을 작성 → ESC 순서대로 누르게 된다면 마우스를 전혀 사용하지 않고도 커밋을 보낼 수 있게 됩니다.

언젠가는 CLI를 사용할 수밖에 없고, CLI를 공부하게 된다면 기본적인 내용은 다 알고 있다는 상태라 GUI도 충분히 사용할 수 있게 됩니다. 하지만 그 반대는 조금 힘듭니다.



그래서 이제 우리가 CLI를 배워야 하는 이유는 충분히 알았으니 본격적으로 시작하겠습니다.
