[TIL] 애증의 Git_1

Robin·2022년 7월 2일
0

TIL

목록 보기
4/24
post-custom-banner

0702 회고

  • 어중이떠중이 마냥 애매하게 알고 있던 Git의 기초에 대해 정리

Git이란?

Git 초기 설정

  • 사용자 정보 설정(git config) 시, 프로젝트 마다 다른 사용자 정보를 지정하고 싶으면 저장소 생성 후 --global 옵션을 빼고 실행하면 된다.
    ex. git config user.name robyn
    ⚠️ fatal: not in a git directory라는 오류 메시지가 뜨는 경우: git 저장소(git init)가 시작되지 않은 상태에서는 유저 설정 시에 반드시 --global을 입력해야 한다.

  • 설정 정보 확인 git config --list: 설정한 user.name과 user.email을 확인할 수 있다.

  • Git 저장소 생성 git init: 기존의 디렉토리를 git repository로 설정

  • git 저장소를 만들면 .git이라는 디렉토리가 새로 생성된다. .으로 시작하는 파일이나 디렉토리는 숨김 처리 되어서 일반적으로 볼 수 없지만 ls -a 명령어를 통해 숨겨진 내용 확인 가능. (Tip: 리눅스 명령어1, 명령어2)

Git 시작하기

  • 상태 라이프 사이클

  • addcommit

  • git status: Staging area에 어떤 파일이 변경 되었는지 등의 파일의 상태를 확인할 수 있다.

  • git log: Repository(저장소) 반영 내역을 확인할 수 있다.(.git repository에 존재하는 히스토리 확인)
    - git log -p -p, --patch: 각 커밋의 수정 결과를 보여주는 git diff와 같은 역할 수행
    - git log -2 -n: 상위 n개의 커밋만 보여줌
    - git log --stat 어떤 파일이 커밋에서 수정되고 변경되었는지 파일 내 라인이 추가되거나 삭제되었는지 확인
    - git log --pretty=oneline 각 커밋을 한 줄로 출력
    - ⭐️ git log --graph 커밋간의 연결된 관계를 아스키 그래프로 출력
    - git log -S function_name 코드에서 추가되거나 제거된 내용 중 특정 텍스트(해당 예시에서는 function_name)가 포함되어 있는지 검사

  • git commit --amend 앞서 적은 커밋 메시지에 오타가 있거나 누락된 파일이 있을 경우 저장소 반영 내용 변경. nano에디터가 나온다. nano의 내용 저장 방법은 ctrl X + Y + Enter(맥도 cmd 아닌 ctrl)


  • Commit 내역

  • git diff: commit된 파일 중 변경된 사항을 비교할 때 사용

  • git reset HEAD^ 최신 커밋 취소 + 스테이지 취소 (참고)

  • Untracked files: 준비 영역에 없다. (터미널에 찍히는 표기 3개: 준비영역에 있다 / 파일이 수정되었지만 준비영역에는 없다 / 준비영역에 없다)

갈무리

모르는 상태로 막무가내로 진행했던 과거의 경험들이 한번에 정리돼서 굉장히 뿌듯한 학습이었다. 터미널에 이리저리 명령어를 쳐가며 실습해보니 이해가 쉬웠다.

개인적으로 현 위치를 확인하는 pwd라든지, 디렉토리로 들어가는 cd, 빠져나가는 cd .. 등의 명령어를 찾아가며 익히는 재미가 있었다. 깃 마스터 되고 싶다.

profile
Always coding or dog walking
post-custom-banner

0개의 댓글