좋은 git 사용 습관

2022년 01월 01일

git을 사용하는 방법에는 크게 CLI, GUI가 있다. CLI를 사용할 줄 알면 GUI도 사용할 수 있지만 반대는 성립하지 않는다. CLI는 Linux 기반은 terminal, windows에서는 git bash으로 사용할 수 있는데 모든 컴퓨터에서 동일한 방법으로 이용하기 때문에 편리하다. Git의 모든 기능을 지원하는 것은 CLI 뿐이라고 한다. CLI를 이용한 git 사용법을 익혀두는 것은 매우 유용할 것이다.

git을 CLI로 사용하는 경우에 git add .git commit -m "message" 두 가지 명령만으로 아주 간편하게 commit을 할 수 있다. 하지만 이런 방법은 좋지 않은 습관이다. 원하지 않는 파일들도 함께 저장소에 포함될 수 있을 뿐만 아니라 git의 유용한 기능들을 간과하게 된다. git GUI도 마찬가지 이다. git GUI를 사용하고 싶다면 git CLI를 먼저 익힌 후에 사용하는 것을 추천한다.


1. git status

$ git status 명령으로 git으로부터 추적되고 있는 파일과 새로 추가된 파일들을 확인한다.
추적되고 있는 파일 중에 수정이 일어났으면 Changes not staged for commit: 아래에 modified : file_name과 같이 표시된다.

새로 추가된 파일이 있으면 Untracked files: 아래에 파일명이 표시된다.

git status


2. .gitignore

git으로 관리하기를 원하지 않는 파일은 .gitignore에 추가한다.

$ echo ".cache/" >> .gitignore

다시 $ git status 명령을 실행하면 .cache/은 사라지고 modified: .gitignore이 추가되었다.

gitignore

의미있는 단위의 commit을 위해 .gitignore 변경 사항을 먼저 commit 한다.

$ git add .gitignore
$ git commit -m "Add file_name on .gitignore"


3. git diff

다시 $ git status 명령을 실행해 보자.

git diff before

selenium-test.py 은 수정한 파일이다. $ git diff selenium-test.py 명령으로 내가 어떤 내용을 수정했는지 제대로 한 것은 맞는지 확인해본다. (뒤의 파일명을 제거하고 $ git diff 명령만 입력하면 아직 add 하지 않은 모든 파일의 변경사항을 출력해준다.)

git diff

-빨간색으로 표시된 부분은 삭제 된 내용이고
+초록색으로 표시된 부분은 추가 된 내용이다.


4. git add file_name

.gitignore 를 commit 하는 과정에서도 봤지만 commit을 하기 전에 무조건 $ git add .명령을 사용하는 것은 좋지 않은 습관이다. 원하지 않는 파일들도 함께 저장소에 포함될 수 있다. 내가 수정한 파일이 맞는지 확인하고 하나씩 git add 하는 습관을 들이는 것이 좋다.

아래의 예시에서 보면 수정된 selenium-test.py 과 새로 추가된 test.py 이 있다.

before git add

모두 내가 작업한 파일들이 맞는지 확인 했으니 git add 해준다.

$ git add selenium-test.py test.py


5. git commit

after git add

$ git status 명령으로 다시 확인해 보면 두 파일의 위치가 Changes to be committed: 으로 변경 되었고 commit 할 준비가 되었다.

git commit

$ git commit 명령을 실행하면 vi로 commit message를 작성하는 창으로 전환되고 메세지 작성 후에 :wq으로 저장 종료하면 commit이 완료된다.

Changes to be committed:에 존재하는 파일들만 commit이 되고 add하지 않은 파일들은 commit 되지 않는다.
$ git commit -m "commit message" 을 이용하면 commit 명령과 동시에 commit message를 입력할 수 있다.


SCM Breeze

SCM Breeze라는 터미널에서 git을 편리하게 사용하도록 도와주는 유용한 tool이 존재한다.
git 명령들을 사용하는 중에 다양한 색깔과 추가 메세지로 더 가독성 있게 보여주고 git 명령어들의 alias를 지정해줘서 git statusgit add 등의 명령어를 gsga와 같이 사용할 수 있다.
또한 변경이 있는 file들에게 번호를 부여하여 ga 1gd 1 와 같이 git 명령어에 파일명을 입력하지 않고 번호로 편리하게 조작할 수 있다.

scm breeze1

scm breeze2


 
댓글은 로그인 사용자만 작성 가능합니다. 로그인하기