[Git & GitHub] -5- 커밋과 관련 주제 자세히 알아보기

Shy·2023년 3월 8일
0

깃&깃허브

목록 보기
5/13

이 섹션에서 가장 중요한것

Critical!

  • Git Ignore

Important

  • Writing Atomic Commits
  • Configuring Default Editor
  • Writing Good Messages
  • Navigating the Git Documentation

Nice to Have

  • Working With a GUI
  • Amending Commits




Git 문서 탐색

깃_공식설명서




커밋을 원자적으로 유지하기

Commit은 가능한한 단일 기능이나 단일 변화, 수정을 포함해야 한다.
즉, 각각의 커밋은 하나에 집중하는 원자성을 유지하는 것이 좋다.

사진에 대한 수정인 MoodBoard와 텍스트파일 Chapter1이변경사항이 있지만, 각각의 작업에 대해 Commit을 하는 것이 좋다.

한 번에 모든 것을 포함하는 다목적 Commit을 하는 대신, 각각의 작업에 대해 Commit을 하였다.

  • 팀에서 작업을 할 때, 버그가 발생하여 커밋에 모든 변경사항을 다 통합하였다면, 커밋을 롤백하면 상당한 양의 작업을 취소해야하는 일이 발생한다.
  • 원자적으로 단일 목적을 유지했다면, 작업 실행 취소시에 작업이 더욱 원활히 된다.
  • 코드 리뷰를 쉽게 만들어 준다.





커밋 메시지: 현재 또는 과거 시제?

커밋을 할 때, 메세지를 현재시제, 과거시제중 어떠한 것으로 작성해야 할까?

깃 문서에서는 공식적으로, 현재시제의 명령형 커밋 메시지를 사용할 것을 권장한다.

그러나 이것은 관례이고 꼭 이럴 필요는 없다..





VIM 빠져나오기 및 Git의 기본 편집기 구성하기





Git Log 명령어 자세히 알아보기

Git_log명령어

git log --oneline : 깃의 log를 한 줄로 줄여서 나타내준다.
--online은 "--pretty=oneline --abbrev-commit"의 줄임말이다.
이것을 위해서는, 깃의 첫 줄의 메세지는 아무리 길더라도 요약을 나타내야 한다.





GUI로 커밋하기

GitKraken에서 repo를 연 모습이다.

VScode를 통해, repo에 변경점을 준다. (GUItestfile을 추가한다.)

한 가지 변경점이 존재한다고 나온다.

  • StageFile을 눌러 스테이지에 추가가 가능하다.
  • CommitMessage에 커밋 메세지를 추가할 수 있다.
  • Summary에는 메세지 요약본, Description에는 상세한 설명 적기가 가능하다.

메시지를 적은 후에, Commit changes to 1file을 누르면

Commit이 된 것을 볼 수 있다.

MoodBoard에 다양한 이미지도 추가해 본다.

커밋을 모두 완료한 후, 한 줄로 보기를 실행해보면 summary만 나오는 것을 볼 수 있다.





Amend로 실수 수정하기

Amending Commits 커밋 수정

  • 새 커밋을 실행한 다음 그 커밋에 파일을 포함시키는 것을 잊었다고, 너무 늦게 깨닳았을때 사용하는 기능
  • 커밋한 다음 커밋 메시지를 읽었을때 오타가 발견되었을 경우
  • 직전에 커밋한 것을 편집하거나 실행 취소 또는 업데이트 할 경우 실행한다.
  • 중요! 바로 직전에 실행한 커밋의 실수에만 적용이 가능하다.

2개의 파일이 새로 생긴것이 볼 수 있다.
이중에서 amendtest.txt만 commit을 하고, forgotten.txt는 commit하지 않겠다.

git log가 너무 많아서 나가지지가 않으면 q를 누르자.

여기에서, forgottenfile.txt를 추가하려면,
git add forgottenfile.txt 를 입력하과 다음을 입력한다.

git commit --amend

를 실행한다. 그러면 다음과 같은 창이 나오는데

메세지를 수정하려면 맨 위에 노란줄을 수정하면 되고, 수정이 끝나면 esc + :wq 로 나와주면 된다.

git log를 보면 위와 같이 바뀌는 것을 볼 수 있다.





.gitignore로 파일 무시하기

프로젝트에서 우리가 Git에서 제외되기를 원하는 파일, 디렉토리를 지정할 수 있다.

  • API키나 자격증명서를 사용해서 작업하고 있거나, 잠재적으로 신용카드와 연결된 응용프로그램 등을 제외할 때 사용한다.
  • gitignore에 추가를 하면, 이러한 파일들은 git에 포함되지 않는다.
  • 디펜던시나 패키지 파일을 git에 포함되지 않아야 한다 (수백, 수천개의 파일과 폴더이므로)

.gitignore

  • 보통은 저장소의 최상위 루트에 포함시킨다.
  • 그 안에서, 깃에게 어떤 것을 제외할지 지시할 수 있기 때문에 정확한 파일 이름을 넣는다.
  • 예를 들어, .DS_store을 추가할 경우, 깃은 이 이름을 가진 파일을 제외시킨다.
  • folderName/ 을 추가할 경우, 깃은 이 디렉토리를 무시한다.
  • .log를 입력할 경우 .log 확장자 전부를 제외시킨다.

gitignore 실습

gitignore을 살펴볼 repo를 만든다.

.gitignore 파일에 들어가서, 다음을 추가해 본다.

add . 를 사용하여, 변경된 모든 것들을 커밋했음에도 불구하고

secrets.txt 파일은 제외된 것을 볼 수 있다.

다음은, 어떻게 프로그래밍을 할 지에 따라서, 어떤 것을 gitignore에 추가하는게 좋을 지 추천해주는 사이트이다.

사이트_링크

해당 사이트에 검색을 하여 생성을 하면, gitignore에 추가할 파일들을 추천해준다.




profile
스벨트 자바스크립트 익히는중...

0개의 댓글