GitHub | 원격저장소와 동기화

kkrree·2022년 3월 10일
0

GitHub

목록 보기
4/5

1. 원격저장소

지역저장소는 상대적 의미가 담긴다.

local에서 작업하여 그 곳에 commit을 하는 형식인데,

이러한 지역저장소와 연결되어 동기화 되는 저장소를 바로 원격저장소라고 칭한다.

원격저장소는 인터넷을 통해 서로 다른 컴퓨터와 연결 될 수 있어서 백업과 협업에 용이하게 사용될 수 있다.


git init --bare [원격저장소이름]

위 명령어로 원격저장소를 생성한다.

원격저장소는 작업용이 아닌 저장소로써의 기능만을 수행하게된다.

때문에 원격저장소의 수정이 불가능하도록 --bare 라는 명령어와 함께 생성을 하도록 한다.


git [원격저장소이름] add [경로 alias] [원격저장소 경로]

//지역저장소 위치에서, 원격저장소의 경로를 alias를 통해 접근할 수 있도록 저장

  

git [원격저장소이름] -v

//원격저장소 정보 확인

  

git config --global push.defualt simple

//simple 명령어를 통해 명시적으로 지정한 저장소에만 push

  

git push

//지역저장소에서 원격저장소로 commit내역 올림

  

git push --set-upstream [경로 alias] master

//지정한 경로의 원격저장소를 master branch로 인식하여 push

원격저장소의 초기 생성과 push를 하며 확인하고 설정할 부분들까지 알아둔 후, github 조작으로 넘어가도록 한다.

2. GitHub

1. 원하는 프로젝트 복제

github에 가장 큰 장점은 단연 오픈 소스라고 생각한다.

원하는 프로젝트를 fork를 통해 자신의 repository로 복제하여 코드 분석과 리뷰를 해볼 수 있다.

fork한 프로젝트 복제를 위해

https 링크를 복사한다.

git bash(혹은 terminal)에서


git clone [복사한 주소] [원하는 폴더명(현재폴더는 .)]

을 통해 clone한 프로젝트의 log를 확인할 수 있다.


git log --reverse

//commit log를 역순으로 확인

  

git checkout [commit id]

//원하는 commit으로 checkout하여 log나 ls -al등의 명령어를 활용하여 자세한 리뷰 가능

위 명령어들을 활용하여 세부적으로 리뷰해 볼 수 있다.

2. 원격저장소 생성

github에 로그인하고 새로운 repository를 생성한다.

repository이름과 공개여부 등의 설정을 완료하고 create하면

repository의 주소와 command line등의 안내를 확인 할 수 있다.

해당 명령어들 중


git remote add origin [생성한 repository 주소]

를 확인해보면 remote원격저장소를 origin으로 접근할 수 있도록하는 명령어이다.

위와 같은 방법으로 여러 원격저장소를 alias를 이용해 로컬에 저장하여 간단하게 접근할 수 있도록 만들 수 있다.


git reomote remove [원하는 원격저장소 alias]

를 통해 원격저장소를 지울 수 도 있다는 점 참고하도록 한다.


git push -u -origin master

//첫 push에서 원격저장소의 master와 연결하도록 하는 명령어

위 명령어로 처음 push를 통해 동기화를 진행해주고 github의 id와 pw를 입력해주면 push가 완료된다.(public저장소인 경우는 id,pw를 체크하지 않는다.)

3. 동기화

하나의 원격저장소를 이용하는 두 개의 로컬저장소가 있을 때, 원격저장소를 매개로 두 로컬저장소가 동기화 될 수 있다.

두 지역저장소 모두 위 과정을 통해 원격저장소와 연결이 되어있다는 가정하에,

local A에서 작업하던 작업물을 origin으로 push,

origin은 local A와 동기화 되었고,

이를 local B 에서 pull하면 세 저장소 모두 동기화 된다.

해당 부분은 직접 임의의 2 폴더를 local저장소로 가정하여 실습해보는 것이 가장 좋다.

이 때 branch사이의 충돌은 참고하도록 한다.

branch충돌

4. ssh(secure shell)

네트워크를 통한 보안 프로토콜로, 서버와 클라이언트가 공개키 암호키를 통해 정보를 확인한다.

github에서 링크를 복사할 때,

https와 ssh 링크를 확인할 수 있었다.

ssh를 이용하면 push할 때마다 id, pw입력했던 부분을 간소화시킬 수 있다.

terminal창에서 ssh-keygen을 입력하고 enter를 입력하게되면

위와 같은 화면을 볼 수 있고, 명시된 경로를 확인해보면 id.rsa와 id.rsa.pub파일이 생성된 것을 확인 할 수 있다.

간단하게 설명하면 위 그림처럼 서버의 공개키와 클라이언트의 암호화키가 일치하는지 확인하는 방법으로 ssh보안 프로토콜이 동작하게 된다.

해당 키를 식별하기 위해 teminal로 돌아가

cat id_rsa.pub를 입력하고 나온 값을 정교하게 복사하여 github로 이동

프로필의 setting으로 들어가

New SSH Key를 클릭

Key text area부분에 복사한 값을 붙여넣고 생성해준다.

terminal 창에서 push를 했을 때 id, pw값을 입력하지 않았다면 성공으로 간주할 수 있다!

0개의 댓글

관련 채용 정보