💻 Programs & Tools/😸 Git

[Git/Github] 원격 저장소와 로컬 저장소 연결 / 레파지토리 업로드(commit & push)

민이언즈 2023. 8. 14. 20:37

기본)

  •  Github 레파지토리 & 컴퓨터 원하는 위치에 로컬 폴더 생성돼있다고 가정

Github 레파지토리 생성

 

  • terminal - workind directory 위치에서 작업
cd <로컬저장소 주소>

 

 


1. 로컬 폴더를 로컬 저장소로 만들어주기 : git init 

  • 현재 디렉토리 기준 git 저장소 생성
$ git init

Initialized empty Git repository in <로컬 저장소 주소/.git/>

 

 

2. 로컬 저장소에 원격 저장소 등록 : git remote add <이름> <레파지토리 주소>

깃허브 레파지토리에 가서 https주소를 복사해온다. 빨간 박스 안의 오른쪽 버튼을 누르면 쉽게 복사할 수 있다.

 

$ git remote add origin <깃 레파지토리 주소>
  • origin : 원격 저장소의 이름
  • 주의할 점 : 주소는 항상 .git으로 끝나야함 (.git1 혹은 .git~ 안됨)
  • 참고) git bash에서 실행했다면 붙여넣기 : shift + insert 

 

 

2-1. 로컬 저장소와 원격 저장소 연결 확인(조회) : git remote -v

$ git remote -v

origin  레파지토리 주소 (fetch)
origin  레파지토리 주소 (push)

 

 

2-2. (잘못 연결했을 때) 연결 끊기 : git remote remove <이름>

  1. 로컬과 원격 저장소의 연결을 끊는 것 
  2. git remote rm <이름> 혹은 git remote remove <이름> 형태로 코드 작성
$ git remote rm origin
$ git remote remove origin

 

 

3. 원격 저장소에 업로드

★ add → commit → push 순서를 기억하자 ! 

3-1. 현재 상태 확인 : git status

$ git status

On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        Algorithm/
        Data_Structure/

nothing added to commit but untracked files present (use "git add" to track)
  • Untracked files : 워킹 디렉토리에 있는, 아직 한 번도 해당 Git 저장소가 관리한 적이 없는 새로운 파일

 

 

3-2. 변경 내용 스테이징 영역에 추가 : git add

  • git add : 작업 디렉토리(working directory) 상의 변경 내용을 스테이징 영역(staging area)에 추가하기 위해 사용하는 Git 명령어
  • 다음 변경(commit)을 기록할 때까지 변경분을 모아놓기 위해서 사용
# 작업 디렉토리의 변경 내용의 일부만 스테이징 영역에 넘길 때
$ git add <파일 or 디렉토리 경로>

# '현재' 디렉토리의 모든 변경 내용을 스테이징 영역으로 넘길 때
$ git add .

# '작업' 디렉토리 내의 모든 변경 내용을 스테이징 영역으로 넘기고 싶을 때
$ git add -A

 

  • git add . & git add -A 차이

 

 

3-3. 변경 내용 스테이징 영역에 추가 : git commit

# 커밋
$ git commit -m "20221214 upload"
[master (root-commit) 84f5a7c] 20221214 upload
 7 files changed, 1282 insertions(+)
...



# 커밋 확인
$ git log --oneline
84f5a7c (HEAD -> master) 20221214 upload

 

 

3-4.  git push : 로컬 저장소의 커밋을 원격저장소에 업로드

  1. master, main에 따라 다름
$ git push origin master

Enumerating objects: 15, done.
Counting objects: 100% (15/15), done.
Delta compression using up to 8 threads
Compressing objects: 100% (13/13), done.
Writing objects: 100% (15/15), 9.05 KiB | 515.00 KiB/s, done.
Total 15 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), done.
To <깃 레파지토리 주소>
 * [new branch]      master -> master

------------------------------------------------

$ git push -u origin master
# 이후에는 $ git push 라고만 작성해도 push 가능

 

 

4. 원격 저장소에 정상적으로 업로드됐는지 확인

  • 깃허브 레파지토리에 접속해서 로컬 저장소의 폴더 및 파일들이 정상적으로 업로드됐는지 확인한다.

 


코드만 총정리

  •  (origin자리에 이름)
$ git init

$ git remote add origin <깃 레파지토리 주소>

$ git remote -v

# 현재 상태 확인
$ git status

$ git add day1.md

$ git commit -m "커밋할 내용"

# 커밋 확인
$ git log --oneline

$ git push origin master

 

 


참고 : 

https://git-scm.com/book/ko/v2

 

https://fomaios.tistory.com/entry/Git-%EB%A1%9C%EC%BB%ACLocal-%ED%8F%B4%EB%8D%94-Github%EC%97%90-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0

 

https://www.daleseo.com/git-add/

 

728x90