Sungtt

Git 설치부터, git push 까지 본문

Git

Git 설치부터, git push 까지

sungtt 2022. 2. 22. 17:27

이제서야 시작하게 된 이유

늘 내 마음속의 Git이란 협업과 실무를 위해 배워야하는 스택이지만

로컬환경에서 혼자 개발을 공부하는 나에게는 필요성을 크게 못느껴 순서를 뒤로 미루고있었다. 

이제서야 시작하는 이유는 이번에 제작하던 개인프로젝트가 어느정도 틀이 잡혀가면서 아쉬움을 느꼈기때문이다.

 

첫번째로 아쉬웠던 점은

나의 개발과정을 기억해줄 사람이 나밖에 없다는 것이다.

개발을 하면서 맞닥뜨리는 수많은 오류와, 지저분한 코드들과 맞서싸워이길때의 쾌감은

말로 이룰 수가 없다.(이 기분은 정말 중독되는거같다) 그치만 이 쾌감은 잠시뿐이었다.

내가 어째서 이렇게 코드를 수정했는지, 무엇이 최적화된건지 내 머릿속 한켠에 들어있다가

점점 흐릿해지기만 할 뿐이다. 내가 이렇게 기특한 생각을 했는데 아무도 알아주지못한다는게

아쉽더라. Git을 통해 내가 노력한 코드의 비포애프터와 주석까지 달 수 있다는건

나 스스로에게도 너무도 좋은 환경일거라 생각이 들었다.

 

두번째로 아쉬웠던 점은

로컬환경에서 개발하다보니 배포까지 하지않는한은 지인들에게 웹페이지를 보여주기 어렵다는 점.

 

그리하여 이제서야 시작하게 되었다.

목적의식없이 의무적으로 배우는게 아니라, 내가 지금 필요하다고 느끼기때문에

더 적극적이고 재밌게 할 수 있을거같다.

 

1.Git 설치

https://git-scm.com/download/win

 

Git - Downloading Package

Download for Windows Click here to download the latest (2.35.1) 32-bit version of Git for Windows. This is the most recent maintained build. It was released 21 days ago, on 2022-02-01. Other Git for Windows downloads Standalone Installer 32-bit Git for Win

git-scm.com

 

위 주소에서 Git을 먼저 설치하였다. 나는 윈도우환경이고, 

설치 당 시 (2020.02.22) 최신버전은 git version 2.35.1.windows.2 이다.

 

2.Git hub 가입

https://github.com/

 

Git의 파일은 크게 로컬저장소와, 원격저장소로 구분되어 관리되는거같다.

로컬은 우리의 컴퓨터기때문에 언제든 준비되어있다.

원격저장소를 세팅하기위해 Git hub에 가입해준다.

 

3. Repository 생성

Git hub에 가입이 완료되었으면 좌측 상단에 New 라는 버튼을 찾아 볼 수 있다.

클릭하여 repo를 생성하자!

README.txt 파일을 로컬저장소에 생성하여 push 해볼것이기 때문에 따로 체크하는것 없이 이대로 진행하였다.

완료하였으면 위와같이 내 repo의 주소가 나온다.

이 주소를 통해 파일을 주고받는다.

 

4.로컬저장소 생성

1번에서 설치한 git bash를 실행해주자.

 

그 후 위에 줄부터 하나씩 명령하였다.

cd desktop

- cd는 change directory의 약자다. 현재 cmd가 보고있는 디렉토리의 위치를 desktop으로 이동하겠다는 것이다. 

 

mkdir Hellogit2

- mkdir는 make directory의 약자다. 현재 위치에서 새로운 디렉토리를 생성하는것이다.

  이 명령어를 실행했으면 각자가 지정한 위치에서 지정한 이름의 (나는 Hellogit2) 라는 폴더가 생긴다.

 

cd Hellogit2

- 방금 생성한 디렉토리로 접속하였다.

 

git init

- init은 initialize(초기화)를 뜻한다. 현재 디렉토리를 원격저장소와 연결될 로컬저장소로 지정하는 명령어다.

git현재 작업 디렉토리에 새 리포지토리에 필요한 모든 Git 메타데이터가 포함된 하위 디렉토리가 생성된다. 이 메타데이터에는 개체, 참조 및 템플릿 파일의 하위 디렉터리가 포함되고. 현재 체크아웃 된 HEAD커밋을 가리키는 파일도 생성된다.

 

git init까지 명령하였다면 이제 해당 디렉토리는 git 작업을 할 준비가 완료된것이다.

명령 이전에 디렉토리에 git 관련 명령어를 실행해도 알아듣지못한다. 

 

그 후 git에 사용자정보를 설정해주자.

git config --global user.name "본인의깃닉네임"

git config --global user.email "본인의깃이메일"

git config --global

- config는 git의 환경설정을 하는 명령어다.

  --global은 전역을 뜻한다.

  이렇게하면 현재 디렉토리뿐만이 아니라, 다른 repo에서도 전역으로 설정한 사용자 정보가

   저절로 세팅되어 다음 작업에 다시 넣을 필요 없다.

  반대로 현재 디렉토리에만 개별적인 사용자 정보설정을 넣고싶다면 --local 을 사용한다

  

 

 

 

5. 로컬저장소 파일을 만들어 cummit하기

로컬과 git bash가 잘 연결되어있는지 직접 눈으로 확인해보자, 우선 git status 를 명령한다.

현재 master 브랜치로 체크아웃 되어 있으며, 커밋 내역이 없다는 내용이다.

쉽게말해서 아무것도 한게 없다는 말이다.

git status

- 현재 프로젝트의 상태를 출력해준다.

 

이제 로컬저장소에 Readme.txt 파일을 생성하고, 다시 한번 git status를 명령한다.

아까와는 다른 문구가 출력된다. 빨간색 텍스트가 무섭지만 별 내용 아니다. 살펴보자면

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        Readme.txt
nothing added to commit but untracked files present (use "git add" to track)

 

Readme.txt라는 파일이 로컬저장소에 생겼지만 Git이 관리하고있지않다는것이다.
파일을 관리하고싶다면 git add 명령어를 통해 파일을 추가하라는 말이다.
이를 통해 로컬저장소의 모든 파일이 꼭 Git에 관리되지않는다는것을 알 수 있다.
작업 디렉토리에 있지만 git add나 commit 하지 않은 파일은 Untracked 상태,
git add나 commit 했던 적이 있는 파일들은 Tracked 상태로 관리한다.
Tracked 상태인 파일들은 Git이 저장 및 관리하며, Untracked 파일은 Git이 신경쓰지않는다.
 

이제 git add Readme.txt를 명령한 뒤 다시금 상태를 확인해보자.

new file : Readme.txt라는 기분좋은 초록색 텍스트가 나온다.

이제 git에서 이 파일을 Tracked 상태로 취급하고, 관리한다는 것이다.

Readme.txt는 방금 git add를 통해서 스테이징 영역으로 이동했다.

쉽게말하면 우리가 작업한 사항들이 저장되는 영역인데, 로컬저장소와 원격저장소를 이어주는 다리역할이다.

그리고 이제 commit을 할 수 있는 스테이징 상태이다.

 

 

git commit -m "Readme.txt 파일 추가" 를 명령했다.

 

git commit -m "코멘트"

 - git commit은 현재 작업 디렉토리의 상태의 버전 스냅샷을 남긴다.

   쉽게말해서 여태까지 작업한것들을 기억해놓으라는것이다.

   -m은 코멘트를 commit과 동시에 명령할 수 있도록 하는 옵션이다.

   -m을 붙이지않고 git commit만 실행하면 코멘트를 작성하는 새로운 창이 나온다.

 

다시 한번 현재 상태를 확인해보자

Readme.txt는 커밋을 하였기때문에, 커밋을 할 것이 없다고 나온다.

이제 push하면 커밋한 버전들이 원격저장소로 전송된다.

 

6. 로컬저장소 파일을 원격저장소에 push하기

push전에 우리의 로컬저장소가 의존할 원격저장소를 설정해줘야한다.

지금 push해도 어디로 보낼지 설정하지않았기때문에 작동하지않는다.

 

 

git remote add origin 깃주소 를 명령하여 원격저장소를 설정해준다.

git remote add origin

 - git remote add는원격저장소를 설정해준다는것이다. 이 원격저장소가 우리가 아까 가입한 Git hub다.

origin은 깃허브에 존재하는 repo 즉 remote를 뜻하는 단어다. 별칭이라고 생각하면 된다.

 

git remote -v를 명령하면 연결되있는 원격저장소의 URL을 볼 수 있다.

하지만 아직 로컬저장소와 원격저장소가 전송을 위한 준비가 다 된 것은 아니다.

 

 

이제 브랜치를 설정하여 push 할 준비를 완료하자.

git push --set-upstream origin master 를 명령한다.

 

git push를 명령하자.

 

그 후 git repo를 확인해보면 우리가 아까 커밋했던 파일과 코멘트가 잘 전송되었음을 알 수있다.

 

 

정리

git init - 로컬 저장소 지정

git config - git 환경설정, 옵션을 통해 3가지 기준으로 환경설정 가능 우선순위 순으로 --local > --global > 그냥 config

git status - 현재 디렉토리의 상태 확인

git add file - git에서 관리할 파일을 추가하는 것.

git commit - 현재까지 스테이징된 상태의 스냅샷을 남기는것.

git remote add origin 깃허브URL- 원격저장소 설정

git push - 커밋되어있는 스냅샷을 원격저장소에 전송

 

 

'Git' 카테고리의 다른 글

gptcommit 설치  (0) 2023.04.18
git add와 git commit 을 동시에 하는법  (0) 2022.04.20
Comments