본문 바로가기
REVIEW/FRONTEND

Git 설치 및 소스코드 Git Push 방법 정리 | git init 오류 해결

by 진자이 2023. 6. 28.

안녕하세요 진자이입니다 :) 이번 포스팅에서는 GIT 회원 가입부터 GIT 설치 방법, VS Code에서 작업 디렉토리를 GIT에 저장하는 방법, Git Push 하는 방법까지 기록하겠습니다.

 

GIT? GITHUB?

GIT

컴퓨터 파일의 변경 사항을 추적하고, 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템 또는 이를 위한 명령어다. Git은 2005년에 리눅스 커널 개발을 위해 초기 개발에 기여한 다른 커널 개발자들과 함께 2005년에 Linus Benedict Torvalds가 처음 개발했다. Git은 상세 이력이 기록되기 때문에 프로젝트에서 발생한 문제를 해결하는데 도움을 주고, 전 세계의 많은 사용자가 사용 중이다. 또한, 서버 역할을 하는 원격 저장소와 각 개발자의 지역 저장소에 소스 코드와 변경 이력을 분산 저장하기 때문에 원격 저장소에 문제가 생겨도 지역 저장소를 이용하여 복원 가능하다. 또한, 변경 이력도 병합 가능하다.

Git Hub

분산 버전 관리 툴인 Git의 원격 저장소 호스팅 서비스로 오픈 소스를 위한 무상 서비스를 모두 제공한다. Git이 텍스트 명령어 입력 방식인데 비해 Git Hub는 그래픽 유저 인터페이스를 제공한다. Git Hub는 깃 프로젝트 저장소 역할 외에도 다양한 기능을 제공하는데, G1Hub Action과 Git Hub Deployment API를 이용하면 빌드 및 배포 자동화를 구성할 수 있으며 Project Boards를 이용해 프로젝트 협업도 가능하다.

 

 

Git Push 준비사항으로 크게 세 가지 필요하다. (해당 포스팅은 Visual Studio Code에서 소스코드를 저장한 내용을 기준으로 작성했으므로, Visual Studio Code가 설치가 필요하다면, https://code.visualstudio.com/Download 에서 운영체제/버전에 맞게 설치)

  1. GIT 회원가입 → https://github.com/ 에 접속하여 계정 생성 및 로그인
  2. GIT 설치 → https://git-scm.com/downloads 에 접속하여 운영체제에 맞는 설치
  3. 이후, 소스코드를 저장할 Repository를 하나 생성한 후, 해당 Repository의 git 주소를 복사한다(http://github.com/이름/Repo명.git). 나는 아래와 같이 HTML_Study 라는 Repo를 만들었으니 http://github.com/JINJA-E/HTML_Study.git을 복사하면 된다.

 

GIT PUSH 방법 정리

이제, Visual Studio Code에서 작업 디렉토리를 git에 저장한다.

먼저 작업 디렉토리로 프롬프트를 이동한다. 현재 PRACTICE 라는 폴더에서 작업하고 있으며, prac1.html을 저장하려고 한다.

이후, 상단 View tab에서 Terminal을 클릭한다.

 

클릭하면, 위와 같은 사진이 나오는데 powershell 오른쪽 화살표에서 Command Prompt로 바꿔준다. 작업하고 있는 폴더로 지정되어 있으면 수정할 필요가 없지만 만약 작업 디렉토리에서 작업하지 않으면 에러 메시지가 나오므로  만약 디렉토리를 바꿔야 한다면 아래 두 가지 방법을 통해 디렉토리를 바꿔주자.

1) cd 폴더명(상위 디렉토리 이동은 cd ..)

2) 상단 File - Open Folder

이후, .git 파일을 생성하기 위해 git init 을 입력하여 명령을 수행하자. 이 파일이 생성되면, 'git이 이 소스 코드 버전을 관리한다는 의미가 된다.

 

* git init 오류 해결 방법

만약, git init을 실행했는데 다음과 같은 오류가 나온다면 git이 아직 path에 등록되지 않았다는 뜻이다. 그렇다면, git 디렉토리의 bin 이라는 디렉토리를 path라는 환경 변수에 추가하면 된다.

1) 컴퓨터 설정 → 환경 변수 검색 후 시스템 환경 변수 편집 - 하단 환경 변수 클릭

2) 시스템 변수에 PATH 클릭 후, 편집 - 새로 만들기 - git이 있는 C:\Program Files\Git\bin 링크 추가

이후, VS Code를 다시 시작 후, git init을 하면 된다.

 

git init 수행 시 아무 문제가 없으면 이제 다음과 같이 코드를 실행하면 된다.

git config user.name 깃헙유저이름
git config user.email 깃헙유저이메일

#관리할 파일 등록
#현재 디렉토리에 있는 모든 내용을 git이 관리하도록 설정
git add .

#현재 변경 내용을 로컬 git(내 컴퓨터)에 반영
git commit -m '메시지'

#변경 내용 확인
git log

#git log 나가기
ctrl + C (OR) Q

#로컬 GIT 내용을 Github 사이트에 게재
#현재 git directory와 repository를 연결
#여기서 이름은 origin으로 설정, 원본이라는 의미
git remote add 이름 url

#git push 코드 연결
#브랜치이름은 main으로 하며,  다른 이름으로 설정 시 별도의 장소에 보관
git push 이름 브랜치이름

추가로 설명하면, 로컬에 만든 프로젝트를 처음 업로드 했을 때, repository는 하나의 큰 저장소이고 이 안에 branch라는 작은 저장소가 만들어진다. repository 이름과 branch 이름이 같으면 덮어씌우게 되고, 다르면 별도로 저장하게 되고, 이를 차후에 합칠 수 있다. 처음 업로드 할 때는 대개 branch 이름으로 main을 많이 사용하고, 코드를 변경하고 리뷰가 끝나면 main에 다시 push를 한다. 만약 리뷰가 끝나지 않았다면 main이 아닌 다른 branch에 업로드를 한다.

또한, 로컬 GIT 프로젝트에 Repository를 연결하고 확인하고 해제하는 방법은 다음과 같다

  • 확인 : git remote -v
  • 연결 해제 : git remote remove 이름

이후, 코드를 수정하고 수정한 내용을 github에 반영하고 싶으면 아래와 같이 코드를 입력하면 되고

git add .

git commit -m ‘메시지’

git push 이름 브랜치이름

Repository를 변경하고 싶으면 git remote add 명령어를 다시 수행하면 된다.

 

원격 저장소의 내용을 가져오고 싶으면 다음과 같이 실행하면 된다.

#원격 저장소의 내용을 모두 가져오는 경우
git clone 저장소URL 저장소이름

#프로젝트의 변경된 내용만 저장하는 경우
git pull 저장소URL 브랜치이름

 

gitignore

업로드에서 제외하고자하는 파일이나 디렉토리를 설정한다. 프로젝트 안에 .gitignore라는 파일을 만들고 업로드에서 제외할 디렉토리 이름이나 파일 이름을 줄단위로 나열한다.

  • logs라는파일을 제외하고자 하는 경우 :logs
  • node_modules 라는 디렉토리를 제외하고자 하는 경우 :node_modules/
  • 확장자가 .log 인 파일을 제외하고자 하는 경우 : *.log
  • log 디렉토리에 있는 .log 파일만 제외 : log/*.log