본문 바로가기
프로그래밍/Git

[AI 부트캠프] DAY 44 - Git 2

by HOHHOH 2023. 9. 16.

[오늘의 일지]

Git 실시간 강의 - Git 제대로 배우기

[상세 내용]

Git 제대로 배우기

- 본격적으로 정리하기에 앞서서 오늘 배운 수업에 대해서 간단하게 말하고 싶습니다. 어제 온라인 녹화 강의에서도 Git이라는 것에 대해서 어느 정도 큰 틀은 배웠다고 생각했습니다. 근데 오늘 수업을 듣고 Git이라는 것이 생각보다 더 체계적이라는 것을 알게 되었습니다. 또 수업시간 동안 Git bash를 이용해서 실습이나 연습을 했는데 Git bash가 shell 기반의 CUI 환경으로  이론을 배울 때 많이 접했던 환경을 직접 사용해 보는 시간을 가져서 좋았던 거 같습니다. 그럼 CUI라는 용어를 정리하겠습니다.

 

- CUI : CUI는 "Character User Interface"의 약어로, 사용자와 컴퓨터 간의 상호작용을 문자나 텍스트를 사용하여 수행하는 사용자 인터페이스를 가리킵니다. CUI는 텍스트 기반으로 동작하며, 사용자는 명령어나 텍스트 입력을 통해 컴퓨터와 소통합니다. CUI는 주로 터미널 창에서 사용되며, 커맨드 라인 인터페이스(CLI)라고도 불립니다. 사용자는 명령어를 입력하고 실행하여 컴퓨터에 지시하며, 컴퓨터는 해당 명령을 수행한 결과를 텍스트로 반환합니다. 이러한 환경은 주로 개발자, 시스템 관리자, 네트워크 관리자 등에 의해 사용됩니다.

 

- GUI : GUI는 "Graphical User Interface"의 약자로, 컴퓨터 프로그램 또는 기기와 사용자 간의 상호 작용을 위한 시각적 화면을 의미합니다. GUI는 사용자가 컴퓨터 소프트웨어나 하드웨어를 조작하고 제어할 수 있도록 그래픽 요소와 상호 작용 요소를 제공합니다. 이를 통해 사용자는 텍스트 명령어나 코드를 입력하지 않고도 컴퓨터와 소통할 수 있습니다.

 

Git 환경 구축

- 이 부분은 어제 녹화 강의에서 했던 거와 크게 다르지 않습니다. 어제 일지를 참고하면 될 거 같습니다.

 

[AI 부트캠프] DAY 43 - Git 1

[오늘의 일지] Git 녹화 강의 - Git 사용하기, Markdown 사용하기 [상세 내용] GitHub 사용하기 Git 환경구축하기 - GitHub를 사용하기 위해서는 우선 Git 환경을 구축해야 합니다. Mac이나 Linux 사용 환경은

odds-endz.com

 

Git bash 

- Git Bash는 Windows 운영 체제에서 Git 명령줄 도구를 실행하기 위한 터미널 에뮬레이터입니다. Git은 버전 관리 시스템으로, 소스 코드를 추적하고 관리하는 데 사용됩니다. Git Bash를 사용하면 Windows에서 Git을 사용할 수 있으며, Unix/Linux 운영 체제와 비슷한 명령줄 환경을 제공합니다.

 

기본적인 명령어

- 터미널 명령어

# pwd (Print Working Directory): 현재 작업 디렉터리의 경로를 표시합니다.
pwd

# ls (List): 현재 디렉터리에 있는 파일 및 디렉터리 목록을 표시합니다.
ls

# cd (Change Directory): 디렉터리를 변경합니다.
cd

# mkdir (Make Directory): 새 디렉터리를 생성합니다.
mkdir <디렉터리 이름>

# touch: 빈 파일을 생성하거나 파일의 수정 시간을 업데이트합니다.
touch <파일 이름>

# rm (Remove): 파일 또는 디렉터리를 삭제합니다.
rm <파일 이름> 
rmdir <디렉터리 이름>

# cp (Copy): 파일 또는 디렉터리를 복사합니다.
cp <원본 경로> <대상 경로>

# mv (Move): 파일 또는 디렉터리를 이동하거나 이름을 변경합니다.
mv <원본 경로> <대상 경로 또는 새 이름>

# cat (Concatenate): 파일의 내용을 표시합니다.
cat <파일 이름>

# 보통 -a 옵션을 사용하면 all이라는 의미가 있음

 

- git 명령어

# git init: 새로운 Git 저장소를 초기화합니다.
git init

# git clone: 원격 저장소를 복제합니다.
git clone: 원격 저장소를 복제합니다.

# git add: 변경된 파일을 스테이지에 추가합니다.
git add <파일 이름>

# git commit: 스테이지에 추가된 파일을 커밋합니다.
git commit -m "커밋 메시지"

# git status: 현재 작업 디렉터리의 상태를 확인합니다.
git status

# git push: 로컬 변경 사항을 원격 저장소로 푸시합니다.
git push

# git remote: 원격 저장소의 정보를 관리합니다.
git remote -v  # 원격 저장소 URL 확인

 

추가적인 작업

- gitignore

  • .gitignore는 Git 저장소에서 추적하지 않을 파일 및 디렉터리를 지정하는 설정 파일입니다. 이 파일을 사용하여 Git에게 어떤 파일 또는 디렉터리를 무시하도록 지시할 수 있습니다.
  • .gitignore 파일은 프로젝트 디렉터리에 생성되며, Git 저장소의 루트 디렉터리에 배치됩니다.
  • .gitignore 파일을 작성하면 Git은 지정된 패턴에 맞는 파일을 무시하고 저장소에 추가하지 않습니다. 이를 통해 Git 저장소를 깨끗하게 유지하고 원하는 파일과 디렉터리만 포함시킬 수 있습니다.

- pre-commit

  • pre-commit은 소프트웨어 개발 프로세스에서 사용되는 자동화된 도구 중 하나로, 코드가 커밋되기 전에 특정 검사와 테스트를 수행하는 역할을 합니다. pre-commit은 주로 코드 품질을 향상하고 버그를 사전에 감지하며, 팀원 간의 일관성을 유지하기 위해 사용됩니다.
  • pre-commit은 개발자가 코드를 커밋하기 전에 이러한 검사와 테스트를 자동으로 실행함으로써 코드의 품질을 개선하고 런타임 오류와 버그를 최소화하는 데 도움을 줍니다. 이것은 소프트웨어 개발 프로세스를 향상하고 팀 간 협업을 원활하게 만드는 데 기여할 수 있습니다.
  • pre-commit 도구는 다양한 프로그래밍 언어와 개발 환경에서 사용할 수 있으며, 대표적인 예로는 Python에서는 pre-commit 패키지를 사용하고, JavaScript 및 TypeScript에서는 Husky와 lint-staged를 사용하는 경우가 있습니다. 이러한 도구들을 사용하면 pre-commit 후크(pre-commit hook)를 등록하고 커밋 전에 필요한 작업을 실행할 수 있습니다.

터미널에서 vim 사용법

- 원하는 파일을 생성 후 vim 또는 vi를 사용해서 파일 수정 환경에 접근해 줍니다. 그리고 아래와 같은 명령어를 사용해서 접근 및 수정을 하고 저장 후에 빠져나올 수 있습니다.

  • Normal mode: press esc from any mode
  • Insert mode: press i from Normal mode
  • Visual mode: press v from Normal mode
  • Command mode: press : from Normal mode

 

Git 사용 시 주의 사항

- 위에는 오늘 수업시간에 배운 내용들의 용어나 명령어를 정리해 보았습니다. 이제부터는 Git 사용 시 중요한 사항들을 생각나는 데로 정리해 보겠습니다.

출처:https://phoenixnap.com/kb/how-git-works

 

- 수업에서 강조했던 내용

  • Github와 연결되었을 때 되도록이면 수정은 Git 환경에서 하고 commit과 push를 통해서 하는 것이 좋다고 합니다.
  • commit은 정말 중요한 부분으로서 수정한 내용을 규칙에 맞게 입려 하는 것이 중요하다고 합니다.
  • 원하는 commit을 다하고 push는 되도록이면 한 번에 해주는 것이 좋다고 합니다.
  • 습관적으로 git status 활용해서 상태 확인해 주기(그래야 실수를 줄일 수 있습니다.)

- commit의 규칙 

  • 첫 줄은 제목을 입력한다.
  • 제목은 .을 표함 하지 않음 명령조로 한다.
  • 제목은 영어 50자 이내로 작성한다.
  • 본문은 제목에서 한 줄 더 내린 후 작성한다.
  • 본문은 72자가 넘어갈 경우 줄내림 한다.

 

- Conventional Commit - template

{type}: {description} 작업단위 축약(breaking change가 있다면 type 뒤에 !)


{body} 작업 상세 기술


{footer} 부가정보(ex) BREAKING CHANGE: Drop email sign up support

 

- commit의 제목 type

  • feat : 새로운 기능 추가, 기존의 기능을 요구 사항에 맞추어 수정
  • fix : 기능에 대한 버그 수정
  • build : 빌드 관련 수정
  • chore : 패키지 매니저 수정, 그 외 기타 수정 ex) .gitignore
  • ci : CI 관련 설정 수정
  • docs : 문서(주석) 수정
  • style : 코드 스타일, 포맷팅에 대한 수정
  • refactor : 기능의 변화가 아닌 코드 리팩터링 ex) 변수 이름 변경
  • test : 테스트 코드 추가/수정
  • release : 버전 릴리즈
  • conf : 환경설정 관련
  • perf : 성능 개선
  • revert : 작업 되돌리기

 

[마무리]

 오늘은 Git이라는 작업버전관리 시스템에 대해서 현직  개발자의 실시간 강의를 통해서 자세하게 배워보는 시간을 가졌습니다. 수업에서 가장 강조했던 부분은 commit이었던 거 같습니다. 사실 저번에 임시로 사용할 때 commit을 대충 쓰지도 않고 넘어갔던 기억이 있는데 역시 사람은 배워야 한다고 생각하며 기존에 올렸던 작업들을 다시 올려야겠다고 생각했습니다. 오늘 배운 내용들도 절대 잊지 않고 나중에 현업에서 일하게 되었을 때 유용하게 사용할 수 있으면 좋겠습니다. 

반응형

'프로그래밍 > Git' 카테고리의 다른 글

[AI 부트캠프] DAY 45 - Git 3  (0) 2023.09.19
[AI 부트캠프] DAY 43 - Git 1  (0) 2023.09.15

댓글