Lsiron

잊을때마다 보는 Git 사용법(window) - 깃 원격저장소에 등록하기 본문

공부방/Git

잊을때마다 보는 Git 사용법(window) - 깃 원격저장소에 등록하기

Lsiron 2024. 5. 31. 03:20

이 작업을 하기 전에 완료되어야 하는 것 세 가지.

1. Git Hub 아이디를 생성한다.
2. 구글창에 git bash 를 입력한 후, 설치를 해주고, 실행시켜준다.
3. Git으로 파일을 등록하는 과정

 

1번과 2번은 간단한 과정이기 때문에 빠르게 넘어가기로 한다. 

일단 내가 작업중인 폴더를 git 저장소로 등록하는 과정을 알아보자.

위 과정 중에, Git에 첫 걸음을 떼기 위해 가장 첫번째로 알아야 할 것은 git add / git commit / git push 이다. 

git pull과 git checkout은 다음에 알아보도록 하자. 

 

일단 git add / git commit / git push에 대해 간략하게 알아보자면.

 

git add : 파일을 작업 디렉토리에서 스테이징 영역으로 넘겨주는 명령어 
git commit : 파일을 스테이징 영역에서 로컬 저장소로 넘겨주는 명령어
git push : 파일을 로컬 저장소에서 원격 저장소로 넘겨주는 명령어

 

 

따라서, 깃 스테이징을 통해 변경된 파일을 준비하고, 커밋을 통해 변경 내용을 저장소에 기록하며, 푸시를 통해 원격 저장소로 변경 내용을 전송할 수 있다.

 

스테이징? 커밋? 아니 그냥 원격저장소에 바로 올리면 되는거 아닌가???? 뭐가 이렇게 복잡하지?

 

AI : 스테이징 영역과 커밋 영역이 있는 이유는 변경 이력을 체계적으로 관리하기 위함입니다. 스테이징 영역을 통해 변경된 파일을 선택적으로 준비할 수 있고, 커밋을 통해 변경 이력을 명확하게 기록할 수 있습니다. 이를 통해 작업한 내용을 세분화하여 관리하고, 필요에 따라 이전 상태로 돌아갈 수 있는 기능을 제공합니다. 또한, 다른 작업을 동시에 진행하거나 코드 리뷰를 할 수 있는 환경을 제공하기 때문에 효율적인 협업이 가능합니다. 따라서, 변경 내용을 스테이징하고 커밋하여 원격 저장소에 올리는 것이 변경 이력을 관리하고 협업하는 데에 더욱 효율적입니다.

 

그러니까 스테이징 영역은 임시 저장소, 커밋 영역은 변경된 사항을 기록하는 공간이라고 보면 되겠다. 또한 나중에 알게되는 git pull/ git checkout 을 통해 올렸던 파일을 수정하거나, 올려져있는 파일을 가져와서 수정한다고 생각하면 될 것 같다. 

 

등록하는 과정을 간략하게 알아보았다. 그럼 git bash 파일을 실행시켜보자.

 

$ git config --global user.name "Lsiron"
$ git config --global user.email "Lsiron@gmail.com"

 

=> git bash에 접속한 뒤, 위 명령어를 차례로 입력해준다. 사용자의 이름과 이메일을 설정하는 것 인데, git이 커밋 할 때마다 위 정보를 사용한다. (GitHub에 가입했다면 Gitbub 정보를 입력하면 된다.)

 

참고로, 프로젝트별로 다른 이름과 이메일을 사용하고 싶다면 global 옵션(--global)을 빼고 설정하면 된다.

$ git config --list
$ git config -- user.name
$ git config -- user.email

 

=> 설정한 정보는 위 명령어로 확인이 가능하다.

 

참고로, 터미널 창에서 복사 붙여넣기 하는 커맨드는 일반 복붙 커맨드와 다르다.

복사 : ctrl + insert / 붙여넣기 : shift + insert

 

 

 

=> 깃 허브에 접속하여 왼쪽 상단의  New를 눌러준다. 이 외에도 new repository 를 누르면 된다. 깃허브에 저장소를 만드는 것이다.

 

=> Repository name에 프로젝트 이름을 입력 해 주고, Create repository를 눌러준다.

=> 그러면 다음과 같이 명령어가 잔뜩 적힌 창이 뜨게된다. 일단 화살표 표시된 https 주소를 복사해준다.

 

" ...or create a new repository on the command line" 에 나와있는 명령어들을 봐보자.

새로운 저장소를 만드는 명령어 순서가 나와있는것을 확인할 수 있다.

 

단, 그 전에 git bash를 작업중인 폴더에 위치 시켜야한다.

$ cd desktop/node/Send-server

 

=> 나는 desktop에 있는 node폴더의 Send-server 폴더에서 작업을 할 예정이다.

cd는 상위폴더로 이동하는 명령어이다. cd를 입력한 뒤, 뒤에 상위폴더의 이름을 입력하면 된다.

 

=> 위와 같이 터미널 상에서 작업폴더로 이동을 시켜준 모습이다. 폴더 뒤에 main은 branch명이라고 하는데 일단 무시하도록 하자. (본인이 git을 생성하고 나중에 터미널은 캡쳐한 것이기 때문에 branch가 들어간 모습이다.)

$ cd ..

참고로 위 명령어는 하위폴더로 이동하는 명령어 이다.

 

그럼 이제 작업폴더로 왔으니, " ...or create a new repository on the command line" 에 있는 명령어들을 차례대로 입력해보자.

$ echo "# Send-server" >> README.md 

 

=> README.md 파일을 생성하며,  내용은 "# Send-server" 이다.(repository를 생성할 때 이름)  깃허브에서 가장 먼저 보여지는, 내 프로젝트에 대한 설명들을 기입한다. 이 파일은 마크다운 문법을 사용한다. 마크다운 문법을 통해 꾸밀 수 있다.

 

=> 명령어를 입력해도 터미널상엔 아무 변화 없다.

 

$ git init 

 

=> git 저장소를 초기화한다. 해당 디렉토리에 .git 이라는 숨겨진 폴더가 생성되며, 이 폴더를 git 으로 감시하겠다 라는 의미가 된다.

 

=> 터미널 상에 git repository폴더가 생성되었다는 메세지가 출력된다. 

 

=> .git 폴더가 성공적으로 생성되었다.

$ git add README.md 

 

=> 생성한 README 파일을 add 한다. 이는 파일을 스테이징 영역에 스테이징 하는 과정이다.

 

 

=> 터미널상에  경고메세지가 나타나는데 무시해주자.

$ git add 파일명
$ git add .

참고로 앞으로 깃을 생성하고 나면 스테이징과 커밋과정을 굉장히 많이 경험할텐데, 스테이징 과정에서 하나의 파일을 스테이징 할 경우, '$ git add 파일명' 으로 명령어를 입력하고, 모든 파일을 스테이징 할 경우, '$ git add .' 으로 명령어를 입력한다.  

 

$ git commit -m "first commit" 

 

=> 스테이징 영역에 추가된 사항을 커밋하는 것 이다. -m 옵션은 해당 파일을 커밋 할 시, 메시지를 남기겠다는 옵션이다. 어떠한 사유로 커밋을 한건지 작성하면 되겠다.

 

 

=> 터미널상에서 위와 같이 1개의 변경된 파일이 commit 완료가 되었다는 메세지를 확인할 수 있다.

$ git branch -M main 

 

=> 브랜치를 생성한다. -M 옵션이 브랜치를 만드는 옵션이며, 뒤의 main 은 브랜치의 이름이다. main 또는 master 를 기본 브랜치로 사용하는게 일반적이다. 

 

 

=> 명령어를 입력해도 터미널상엔 아무 변화 없다.

$ git remote add origin https://github.com/lsiron/Send-server.git 

 

=> 원격 저장소(깃허브) 를 추가한다. 여기에는 만든 리포지토리의 url 을 기입하면 되고(위에서 복사한 https 주소), origin 은 이 원격 리포지토리의 별칭이다. 필요에따라 수정하여 사용할 수 있다.

 

 

=> 명령어를 입력해도 터미널상엔 아무 변화 없다.

$ git push -u origin(원격저장소주소) main(올릴 로컬브랜치명)

 

=> 내 main 브랜치를, origin(원격 저장소)에 푸쉬하고 연결한다. 즉, 내 파일을 깃허브에 올리고, 깃허브 브랜치와 내 브랜치를 연결한다. 이로써 내 파일이 깃허브에 올라간다.

 

 

=> 다음과 같이 터미널상에 성공적으로 깃에 등록되었다는 메세지가 나타나는 것을 알 수 있다.

 

 

=> Git Hub 홈페이지로 돌아와서 새로고침을 하면, 위와 같이 repository가 생성된다. 작성했던 commit message인 'first commit' 도 확인 할 수 있다.

 

이 후, 다시 파일을 수정하고, 스테이징 한 뒤에 commit을 하면 또 push를 하는 순간이 온다. 그러면 그때마다 push를 할 때 주소를 입력해주긴 번거롭기 때문에 원격저장소 주소를 변수로 만들고 그 변수를 입력하면 된다. 

 

$ git remote add 변수명 주소

 

=> 위 명령어로 입력해주면 된다. 어디서 많이 본 명령어 이지 않은가??

 

$ git remote add origin https://github.com/lsiron/Send-server.git 

 

=> 위에서 보았던 명령어가 바로 주소를 변수로 만들어주는 방법이다. 그렇다면 우리는 이미 주소를 origin 변수에 할당 해 주었다. 따라서 이 후, 다시 push를 해 줄때는 아래와 같이 입력해주면 된다.

 

$ git push origin(원격저장소주소) main(올릴 로컬브랜치명)

 

=> 허나 여기서 더 간단하게 쓰는 방법이 있다. git push를 할 때 -u를 추가하면 주소를 기억하라는 뜻이다. 이 때, 한번이라도 -u를 사용했었다면 다음과 같이 명령어를 입력하면 git push가 가능하다.

 

<-u를 사용한 경우>

$ git push -u origin main

 

<이 후, 사용할 때>

$ git push