본문 바로가기
Git

Git 기초 명령어

by oncerun 2021. 2. 10.
반응형

여기서 가장 기초적인 명령어를 전부 알아본다.

 

Git 저장소 만들기

 

1. 아직 버전 관리를 하지 않는 로컬 디렉터리를 하나 선택해서 git 디렉터리로 적용하는 방법.

2. 다른 어딘가에서 git 저장소를 clone 하는 방법

 

두 가지 방법 모두 알아본다.

 

1번은 우선 관리하고 싶은 프로젝트의 디렉터리로 이동해야 한다.

 

바탕화면에 git라는 폴더를 만들고 cmd창을 이동시켰다.

그리고 git init을 실행한다. 이 명령은. git이라는 하위 디렉터리를 만드는데 이 디렉터리는 저장소에 필요한 뼈대 파일이 들어 있다. git이 파일을 관리하게 하려면 저장소에 파일을 추가하고 커밋해야 한다. git add 명령으로 파일을 추가하고 git commit 명령으로 커밋한다.

 

이제 파일 버전 관리를 시작했다.

 

2번은 저장소를 clone 할 것이다. 

 

git clone <url> 명령으로 저장소를 Clone 한다. 

libgit2 라이브러리 소스코드를 Clone 하려면 아래와 같이 실행한다.

$ git clone https://github.com/libgit2/libgit2

이 명령은 “libgit2”라는 디렉터리를 만들고 그 안에. git 만든다. 그리고 저장소의 데이터를 모두 가져와서 자동으로 가장 최신 버전을 Checkout 해 놓는다.

 

cmd넘편하당

$ git clone https://github.com/libgit2/libgit2 directory_name처럼 생성되는 디렉터리의 이름을 정할 수 있다.

프로토콜은 여기서는 https를 사용했지만 다양한 프로토콜을 사용할 수 있다.

 

 

파일을 수정하고 저장소에 저장하기

 

워킹 디렉터리의 모든 파일은 크게 Tracked와 Untracked로 나뉜다. Tracked 파일은 이미 스냅숏에 포함되어 있던 파일이다. 이 추적 파일은 또 Unmodified, Modifed, Staged 상태 중 하나이다.

그리고 나머지 파일은 전부 Untracked 파일이다. 스냡샛에도 Staging Area에도 포함되지 않는 파일을 말한다. 보통 clone 하면 전부 추적 파일이고 수정되지 않는 상태이다.

 

라이프사이클 반복

파일의 상태를 확인하기 위해선 git status 명령을 사용한다. 

git1 폴더에 Readme 파일을 만들고 git status를 사용하자.

이것은 만들어진 리드미 파일이 Untracked 상태이라는 것이고 추가하라고 설명까지 해준다.

이제 이 파일을 git이 추적하도록 상태를 변경해보자

git add ReadMe.md.txt 

committed에 추가될 파일이라고 알려준다.  git add 명령은 파일 또는 디렉터리 경로를 인자로 받는데 디렉터리 경우 하위 파일까지 재귀적으로 추가한다. 

clone을 통해 받은 경우 해당 파일들은 전부 추적 파일이고 전부 Unmodified상태이다. 수정했다면 수정 상태인데 수정한 파일을 stage 해보자.

git add를 파일을 추가한다는 의미보다는 커밋 상태로 만든다라고 받아들이는 게 좋다.

만약 여기서 리드미 파일을 수정하고 커밋하면 수정된 내용이 저장되지 않는다.

그 이유는 초기 git add로 stage상태에 올라간 버전이 저장되기 때문인데 재수정을 했다면 다시 git add를 통해서 최신 상태 staged로 만들어야 한다.

 

 

우리가 자주 접하는. gitignore파일은 무엇일까?

깃이 관리할 필요가 없는 파일을 지정하는 것이다. 이때 파일에 입력하는 패턴은 아래의 규칙을 따른다.

 

  • 아무것도 없는 라인이나, `#`로 시작하는 라인은 무시한다.

  • 표준 Glob 패턴을 사용한다. 이는 프로젝트 전체에 적용된다.

  • 슬래시(/)로 시작하면 하위 디렉터리에 적용되지(Recursivity) 않는다.

  • 디렉터리는 슬래시(/)를 끝에 사용하는 것으로 표현한다.

  • 느낌표(!)로 시작하는 패턴의 파일은 무시하지 않는다.

------머리가 아파서 다음 글로 이어간다. -----

반응형

'Git' 카테고리의 다른 글

Git 기초 명령어(3)  (0) 2021.02.10
Git 기초 명령어(2)  (0) 2021.02.10
Git 설치  (0) 2021.02.10
Git 기초  (0) 2021.02.10
Git과 Github의 시작  (0) 2020.08.03

댓글