Git을 사용한 버전 관리 - 04 Git 원격 저장소

핏자·2023년 4월 20일
0

인공지능사관학교

목록 보기
21/31
post-thumbnail
  • 원격 저장소 받아오기

- 원격 저장소?

인터넷이나 네트워크 어딘가에 있는 저장소

Git clone
기존의 git repository를 복사

- 원격 저장소 url로 받아오기

Gitlab 또는 Github에서 원하는 프로젝트에서 clone 버튼을 누릅니다

아래와 같이 2개의 옵션을 볼 수 있습니다.
여기서 clone with HTTPS 옵션으로 Clone을 하게 됩니다.

Git clone 뒤에 clone 버튼으로 확인한 원격저장소의 주소를 넣어줍니다

$ git clone https://gitlab.com/alwys/myproject.git

- 원격 저장소 추가(1)

원격 저장소는 아래의 명령어로 연결할 수 있어요.

$ git remote add origin https://gitlab.com/group/project

- 원격 저장소 추가(2)

저장소 주소는 다음과 같이 구성됩니다.

$ git remote add origin https://gitlab.com/group/project

gitlab.com => 웹 호스트 서비스
group => 그룹 명
project => 프로젝트 명

- 원격 저장소 추가(3)

연결한 원격 저장소를 확인해보세요.

$ git remote 
origin

- 원격 저장소 살펴보기

$ git remote show origin
* remote origin
  Fetch URL: https://github.com/.../git_test.git
  Push URL: https://github.com/.../git_test.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)

- 원격 저장소 이름 변경

원격 저장소 단축 이름을 origin에서 git_test으로 변경

$ git remote rename origin git_test

- 원격 저장소 삭제

주소가 변경되었거나, 필요 없어진 저장소는 아래의 명령어로 삭제할 수 있어요.

$ git remote rm git_test



  • 원격 저장소 동기화

- 저장소 갱신

Pull
원격 저장소에서 데이터 가져오기 + 병합(Merge)

Fetch
원격 저장소에서 데이터 가져오기

- 저장소 갱신 - Pull

원격 저장소에서 데이터를 가져와 로컬 데이터와 병합합니다.

$ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 ...
Unpacking objects: 100% (3/3), done.
From https://github.com/.../git_test
	0daf5d2...c61952d master -> origin/master
Updating 0daf5d2..c61952d
Fast-forward
 README.md | 1 + 
 1 file changed, 1 insertion(+)
$ git log --all
commit f7b775d (HEAD->master, origin/master)
commit 725fc8b
commit fad4a9a
commit 1418700 init repository

- 저장소 갱신 - Fetch

git log 명령어로 변경된 파일을 확인하고 Merge 해줍니다.

$ git log origin/master
commit 8a9ed03b4d750ca0ef58e795af237cb32aa461b7
(origin/master, origin/HEAD)
Author: Elice <elice@elice.noreply.github.com>
Date:   Mon Aug 12 11:15:58 2019 +0900

	Update README.md
...

- 저장소 발행

로컬 저장소에서 작업한 내용을 원격 저장소에 반영합니다
다른 사람이 먼저 Push한 상태에서는 Push할 수 없어요.
다른 사람이 작업한 것을 Merge부터 해주세요.

$ git push origin master

- 요약

  1. git remote add origin (또는 다른 원격저장소 이름)으로 로컬저장소와 연결합니다.
  2. git fetch 또는 git pull을 이용하여 원격저장소의 내용을 동기화합니다.
  3. fetch를 실행한 경우 git merge origin/master로 병합을 완료해줍니다.
  4. git push origin master를 이용하여 변경된 사항을 원격 저장소에 전달해줍니다.





  • Origin이란?

- origin/master

내 컴퓨터에 저장되어 있는 저장소와 원격저장소를 연결하기 위해서 아래와 같은 명령을 사용했습니다.
git remote add origin https://github.com/group/project 이는 원격저장소의 단축이름을 origin으로 지정한다는 의미입니다.

origin이 아닌 다른 이름으로 원격 저장소의 이름을 지정해 줄 수도 있습니다.
git remote add myproject https://github.com/group/project

기본적으로 만들어진 원격저장소의 이름은 origin이 default값 입니다.
때문에 clone으로 복사해온 저장소의 이름은 origin으로 통일되게 됩니다.

-v 옵션을 사용하면 지정한 저장소의 이름과 주소를 함께 볼 수 있습니다.
git remote -v

git remote -v

$ git remote -v
origin https://gitlab.com/group/project (fetch)
origin https://gitlab.com/group/project (push)
profile
개발자 핏자의 로그들

0개의 댓글