Github과 Git remote

조 은길·2021년 2월 22일
1
post-thumbnail
post-custom-banner

Repository (저장소)에 파일을 올린다는 것은 다른 사람과 그 파일들을 공유한다는 의미!!
[ 아 물론, private repository는 예외!! ]
즉, 서로 같은 파일을 수정할 때, 충돌이 발생!!

이제 깃헙에서 나만의 저장소를 만들어보자.
나의 계정에서 새 저장소 만들기를 완료하고 나면, 이런 창이 뜬다.

  • free-git 이라는 저장소에 README.md를 만들어줘
  • free-git이라는 폴더를 git 너가 관리하는 거야!! 콜??
  • 깃아~ 이 안의 폴더들의 상태를 하나의 버전으로 기억해줘

Commit까지는 쭉 해왔던 내용인지라 대충 이해가 간다.

문제는 그 밑에 줄 remote 부터... 뭔소리인고...

git remote

=> 연결된 Repository (저장소)의 리스트를 확인 할 수있는 명령어

아마 다른 페어와 협업을 하지 않는다면, 처음에는 자신의 Repository인 origin만 확인 될 것이다.

이 외에 remote로 뭘 할 수있을까??

git remote --help로 사용법을 알아보자!!

참고로, 대괄호 부분은 안써도 되는 옵션이다. 그러나 <...>은 반드시 써줘야 되는 필수 요소이다.

우리는 github이 시키는 대로 git remote add를 사용할 예정이다.
ex)

git remote add origin http://github.com/zerocho/free-git

처음 Git을 사용하면, 내 개인 리파짓토리 설정해줘야 된다.

이 뜻을 풀이하면,

origin = http://github.com/zerocho/free-git 이 정도가 된다.
앞으로는 번거롭게 http... 이 주소들을 다 안 치고 그냥 origin이 내 git의 주소가 되는 것이다.
=> 내 git의 원격 서버 주소 이름은 origin 데스!!

remote add 이후에 add가 됐는지 확인하려면,

git remote get-url origin

url(원격 서버 주소) 이 존재한다. remote add가 성공적으로 됐음을 확인할 수 있다.

참고로, github을 "remote 저장소"라고 부른다.
그리고 본인이 소유한 컴퓨터를 "로컬 저장소"라고 한다.

이제 나만의 저장소가 생겼으니, 다른 사람의 저장소에 접근하는 방법에 대해서 알아보자.

git remote add <지정하고 싶은 이름> < Repo URL for pair >
=> 상대방의 저장소에 지정한 이름으로 접근할 수있다.

ex) git remote add pair <Repo URL 주소>

=> " pair = < Repo URL 주소 > " 로 선언 및 할당 되서, 이후에는 origin master (내 저장소 뿐만 아니라) pair로부터 git pull을 할 수 있다.
아 물론, 상대방 저장소로 git push도 가능은 하지만, 그것은 상대방이 나에게 권한을 줘야 가능해진다.

이후에, 다시 한 번 git remote를 써서, 상대방의 저장소의 주소가 잘 저장이 됐는지 꼭 확인해보자!!

git remote -v

=> 어떤 레포가 master인지 어떤 레포가 무슨 이름으로 할당되있는지를 확인할 수 있다.


- Github

github 은 git을 쓰는 사람들을 위한 Facebook같은 곳으로 이해하면 쉽다.

git + hub (중심지) => 즉, git이 모이는 곳이라는 의미이다.

git이 로컬 (= 내 컴퓨터)에서 관리 되는 방식이라면, github은 클라우드 방식으로 관리되는 버전 관리 시스템(VCS)이다. 즉, github은 우리가 인터넷에서 빌려쓰는 저장 공간이다. 이를 통해, 우리는 다른 사람과 자신의 파일을 공유할 수도 있고, 우리가 다른 사람이 업로드한 파일을 받아서 수정하는 것도 가능해진다.

git으로 할 수없는 Github의 고유한 기능

마지막으로, git에는 없는 github의 고유한 기능 대표적인 3가지를 소개하면서 마무리하겠다.
물론, 이 3가지보다 훨씬 많다.

  1. fork

=>유저가 다른 사람의 저장소(Repository)에 수정 권한이 없기 때문에 Repository를 복사해오는 것을 말한다. 복사 해온 뒤, 원하는 대로 수정하고, pull request를 통해 merge을 요청할 수있다.

  1. pull request

=> 내 수정본 파일이 마음에 들면, master branch에 merge 될 수 있도록 merge 요청을 하는 것을 말한다.

  1. issue

=> 이슈는 프로젝트에서 개선되거나 해결되어야할 것을 의미한다. 이슈에 제목과 설명을 기입하고, 이슈가 할당되는 사람(처리해야 하는 사람), 마감 기한 등을 입력해 등록한다.

Issues를 클릭하면, New issue를 생성할 수있는 버튼이 나온다.

issue 작성 시에,

@+'사용자아이디'를 사용하여 참여시키고 싶은 사람을 언급할 수도 있다.

이슈를 게시한 후에는 고유한 넘버가 생성되며, 넘버는 '#'+'숫자'의 형태로 발생한다.

Pull Request를 보낼 때, 특정 issue에 관한 사항임을 알리고자 할 경우, 생성된 고유 넘버를 태깅해서 나타낸다.

ex) Pull Request 시,

Memo 창에 "요청하신 이슈에 대한 업데이트입니다."
( # + 해당 issue넘버 )


[TMI] : Github의 고유한 기능들을 CLI 환경에서 구현할 수는 있지만, 좀 복잡하기도하고, 구지 그래야 될 필요도 없다. 그냥 깃헙 웹싸이트 가서 하자!!

여기까지 Github과 Git remote 끝!!!!!!!!


자료 출처

이번 블로그는 코드스테이츠의 강의 내용과 ZeroCho 블로그의 일부를 바탕으로 작성했으며, 그 어떠한 상업적 용도도 없음을 밝힌다.

https://www.zerocho.com/category/JavaScript

https://github.com/codestates/help-desk/issues/2068

https://www.geeksforgeeks.org/useful-git-commands-and-basic-concepts/

profile
좋은 길로만 가는 "조은길"입니다😁
post-custom-banner

0개의 댓글