본문 바로가기
코드프레소 체험단/실무자가 알려주는 Git

[실무자가 알려주는 Git 입문] Git 기본 플로우 이해 (1)

by 의정부핵꿀밤 2022. 1. 11.
728x90

✨ 이 글은 [ 코드프레소 Java 웹 개발 체험단 활동 ] 내용입니다 ✨

💜 코드프레소 이러닝 강의 수강 중 - 실무자가 알려주는 Git 입문 💜

😎 아래의 링크를 통해 프리미엄 IT 교육 서비스, 코드프레소를 확인해보세요 😎

 

https://www.codepresso.kr/

 

프리미엄 IT 교육 서비스 - 코드프레소

 

www.codepresso.kr


Git 기본 플로우 이해를 위한 실습

 

아래는 git의 기본 플로우이며, 이 모든 과정을 실습을 통해 해볼 것이다!

git 기본 플로우

 

 

저장소 생성하는 방법

  • 저장소를 생성하는 방법은 2가지가 있다
    1. 이미 만들어진 저장소를 clone하기
    2. 로컬 저장소 생성 -> 초기화 (git init) -> 원격 저장소 연결 (git remote add)

 

 

상태 정보를 위한 기본 명령어

  • 현재 폴더 내 파일의 상태 확인하기
$ git status

git status

 

  • 커밋의 히스토리 확인하기
$ git log

git log

 


 

파일 생성 및 수정

자! 이제 실습을 위해 파일을 하나 만들어보자!

파일 생성은 vi 편집기를 사용하여 만든다

아래의 명령어를 통해 파일을 생성해보자!

$ vi TestService.java

 

위의 명령어를 입력하면 아래와 같은 vi 편집기가 열린다

이 때 i를 입력하면 입력모드로 변경된다 (리눅스와 동일하게 하면 됨!)

코드를 작성이 완료되면, [Esc]키를 누르고 :wq 를 입력하면 파일이 저장되고 에디터가 종료된다

TestService.java

 

그리고 현재 파일 상태를 확인하면 아래와 같다

아래의 사진을 보면 방금 만든 파일이 Untrackted files이라고 빨갛게 표시된다

이는 Git에 의해 추적은 되지만 관리가 되지 않고 있는 파일이라는 뜻이다

$ git status

git status

 

 

 

작업 디렉토리의 파일 상태

1. Untracked

  • Git에 의해 관리되지 않은 파일
  • 단 한번도 Staging Area에 포함되지 않은 파일 (add 실행 X)

 

2. Tracked

  • Git에 의해 관리되는 파일
  • 한 번 이상 Staging Area에 포함된 파일

 

즉, 현재 위에서 만든 TestService.java 파일은 아래의 상태와 같은 것이다!

-> Working Directory에 추가는 되었지만, Git에 의해 관리는 되지 않는 상태

TestService.java의 파일 상태

 

 

 

스테이징 영역에 변경점 추가

  • 작업 디렉토리의 변경사항 중 커밋 예정인 파일들은 스테이징 영역에 추가
$ git add TestService.java
$ git status

 

위의 명령어들을 순차대로 실행하면 아래와 같은 결과 화면이 보여진다

즉, TestService.java는 스테이징 영역에 올라감으로써 이제부터 Git에 의해 관리되는 것이다!

 

 

근데 위의 사진에서 git add를 한 부분을 보면 요상한 Warning 로그가 발생하는 것을 볼 수 있다

이는 플랫폼(OS)마다 줄바꿈을 바라보는 문자열이 다르기에 형상관리를 해주는 Git이 바라볼 땐 둘 중 어느 쪽을 선택할지 몰라서 경고 메세지를 띄워주는 것이다

사실 작업하는데 큰 상관은 없으니까 꺼주도록 하자!

warning: LF will be replaced by CRLF in bora.txt.
The file will have its original line endings in your working directory

 

이는 위의 사진에서 보다시피 아래의 명령어를 통해 경고 메세지 설정을 off 시키면 된다

$ git config --global core.safecrlf false

 

 

자 그러면 현재 TestService.java 파일의 상태는 아래와 같다

git add를 통해 Staging Area에 올려줌으로써 파일을 Git이 관리하는 상태가 되었따!

스테이징 영역에 변경점 추가

 

 

728x90

댓글