본문 바로가기

기타/Git

Git - #2. 초기 설정

시작하기 전에...

이 포스팅은 CUI(CMD) 기반이다. CMD를 실행하는 방법에는 여러가지가 있다.

 

1. 윈도우 키 + R 을 눌러 cmd 입력
2. 윈도우 검색 창에 cmd 검색 후 실행
3. cmd 파일을 찾아서 작업 표시줄에 추가하여 실행
4. 프로젝트 폴더 또는 로컬 저장소 폴더에서 마우스 오른쪽 키 > Git Bash Here로 실행

 

참고로 4번 항목이 제일 편하다.

 

그리고 cmd 실행 후 어차피 해당 프로젝트 폴더로 다시 이동해야하기 때문에 이 포스팅을 따라할 때 가능한 4번으로 하도록 한다.

 

모든 명령어들은 위에서 실행한 프롬프트 창에서 실행하도록 한다.

 

1. 로컬 깃 계정 정보 설정

일단 어디든 좋으니 cmd를 실행하여 다음 명령어를 입력하자.

$ git config --global user.name "<USER_NAME>"
$ git config --global user.email <USER_EMAIL>

<USER_NAME> 과 <USER_EMAIL>에는 각각 자신의 깃허브 계정 이름과 이메일을 넣는다. (계정이 없으면 회원가입부터 한다.)

 

이 과정은 내 컴퓨터에서 모든 깃 로컬 저장소를 나의 계정으로서 사용하게 해준다.

 

로컬 저장소마다 다른 계정을 사용하고 싶다면, 해당 저장소 디렉터리로 가서 위의 명령어를 --global 태그 빼고 치면 된다.

 

참고로 <> 이 기호만 빼면 된다.. ""는 꼭 넣고

 

계정 등록 후 아래의 명령어로 등록을 확인한다. user.name, usr.email 자리에 자신의 계정 정보가 들어가 있으면 된다.

$ git config --global --list

 

2. 로컬 저장소 지정(만들기)

이제 로컬 저장소로 만들 프로젝트 폴더로 이동하자.

GitExample 이라는 폴더를 기준으로 설명하겠다.

 

해당 폴더에 진입하여 Git Bash Here 을 눌러주면 디렉터리가 해당 폴더로 이동된 채 CUI가 뜬다.

$ git init

위 명령어를 입력해주자. 깃의 출발점이다.

 

그리고 반드시 프로젝트 workspace 또는 빈 폴더로 이동하여 실행할 것. C드라이브나 이상한 폴더에 하지 말라는 뜻이다.

 

이 명령어는 해당 디렉터리를 로컬 저장소로 만들어준다.

 

그러면 폴더에는 .git 폴더가 생기게 되는데, 해당 폴더는 가능한 건들지 않는 것이 좋을 것이다.

 

.git 폴더는 해당 로컬 저장소를 관리해주는 매니저라고 생각하면 된다.

 

이제부터 이 매니저에게 명령을 주고 싶을 때 위의 Git Bash or CMD에서 명령어를 치면 된다.

 

여기서 두 가지 경우로 나뉜다.

 

 

2-1. 이미 존재하던 Workspace (프로젝트 폴더) 를 publish 하려고 할 때 or 빈 폴더에 새로운 로컬 저장소를 할당하려고 할 때

두 경우 모두 원격저장소에 해당 프로젝트가 없고 새롭게 publish(로컬 저장소를 원격 저장소에 추가)하려고 할 때 사용된다.

 

일단 깃허브 사이트에 자신 계정의 홈으로 들어가 Repositories 탭을 누르면 오른쪽에 New 버튼이 보이는데, 해당 버튼을 눌러 원격 저장소를 생성한다.

 

Repository name에 자신이 원하는 프로젝트 명이나 저장소 이름을 지정하여 입력한다.

Description에는 해당 저장소를 설명하는 문구를 대충 넣는다, 안 넣어도 무방.

 

그 아래 Public / Private 을 선택할 수 있는데, Private으로 설정하면 해당 저장소를 다른 사람이 깃허브에서 볼 수 없게 된다.

 

나중에 다시 바꿀 수 있긴 한데, 알아서 설정하도록 한다.

 

 Create Repository 를 클릭하여 생성 완료.

 

생성이 완료되면 뜨는 페이지인데, 내가 쓰려는 방법이 다 적혀있다 (...)

 

위에서부터

1. 어떤 디렉터리를 로컬 저장소로 만들고 그 저장소를 원격 저장소와 연결시키는 방법
2. 이미 있는 로컬 저장소를 그 저장소를 원격 저장소와 연결시키고 원격 저장소에 push하는 방법
3. 해당 웹 자체에서 코드를 디렉터리로부터 import하는 방법

이다.

 

2번의 경우에는 README.md 생성과 commit은 생략해도 된다.

$ git add README.md

위의 명령어를 통해 README.md 를 생성한다. (README는 용어 정리 참고)

README를 사용하지 않을 것이라면 안해도 된다.

다만 사용할 것이라면 로컬 저장소에 README.md 파일을 만들어야 한다.

$ git commit -m "initial commit"

위의 명령어를 통해 초기 커밋 실행 (이 커밋은 원래 있는 프로젝트를 업로드할 때만 유의미하다. 아무 파일도 없으면 커밋은 스킵하자)

 

 

이제 로컬 저장소와 원격 저장소를 연결해주기 위해 다음 명령어를 입력한다.

$ git remote add origin <REMOTE_REPOSITORY_URL>

<REMOTE_REPOSITORY_URL> 에는 자신의 원격 저장소 URL을 써 넣는다.

 

이 때 fatal: remote origin already exists. 이라는 오류가 발생하는 경우가 있는데, 

$ git remote rm origin

위 명령어를 사용하여 remote origin을 삭제하고, remote add 명령어를 통해 재시도 하도록 한다.

 

2-2. 원격 저장소에 있는 프로젝트를 로컬 저장소로 가져오려고 할 때

깃허브에서 깃을 가져오는 방법에는 크게 3가지 명령어가 있다.

$ git clone ...
$ git pull ...
$ git fetch ...

우선 git clone 이라는 명령어는 깃허브에서 프로젝트를 처음 끌어올 때 사용되는 명령어이다.

 

프로젝트 폴더를 가져오려는 상위 폴더에서,

$ git clone <GIT_URL>

이런 식으로 명령어를 사용하면 되는 것이다.

 

이 작업은 git init이 필요가 없다.

 

예를 들어, project/Gits/ 디렉터리 아래에 깃허브의 GitTutorial 이라는 프로젝트를 clone 하고 싶다면, Gits 폴더에서 Git Bash를 열어 다음과 같이 입력한다.

$ git clone https://github.com/shyunku/GitTutorial.git

그러면 따로 정리할 필요도 없이 Gits/GitTutorial 이라는 디렉터리와 함께 로컬 레파지토리(저장소)가 생성된다.

 

이 3개의 명령어는 다음 속성을 가지고 있다.

 

git clone 은 git remote add + git pull 과 비슷한 역할을 한다.
git pull 은 git fetch + git merge 와 비슷한 역할을 한다.

 

git remote add 가 로컬 저장소와 원격 저장소를 연동시켜 주는 것이고, git fetch가 그저 파일을 가져오는 것이라고만 생각하면 이해하기 편하다.

 

git merge는 용어 해설에 정리해둘 것인데, 간단히 말해 서로 다른 파일들이 충돌하는 것을 막는 동시에 두 저장소를 합치는 것이다. (이 때 충돌을 방지하고 합치는 행위는 유저가 직접해야 한다.)

 

이제 전반적인 초기 설정은 끝났고, 다음 포스팅에서 더욱 많은 명령어들과 사용 방법을 올리겠다.

'기타 > Git' 카테고리의 다른 글

Git - #E. 용어 정리  (0) 2020.02.06
Git - #1. 사용 목적  (0) 2020.02.06