지역저장소는 상대적 의미가 담긴다.
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 조작으로 넘어가도록 한다.
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등의 명령어를 활용하여 자세한 리뷰 가능
위 명령어들을 활용하여 세부적으로 리뷰해 볼 수 있다.
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를 체크하지 않는다.)
하나의 원격저장소를 이용하는 두 개의 로컬저장소가 있을 때, 원격저장소를 매개로 두 로컬저장소가 동기화 될 수 있다.
두 지역저장소 모두 위 과정을 통해 원격저장소와 연결이 되어있다는 가정하에,
local A에서 작업하던 작업물을 origin으로 push,
origin은 local A와 동기화 되었고,
이를 local B 에서 pull하면 세 저장소 모두 동기화 된다.
해당 부분은 직접 임의의 2 폴더를 local저장소로 가정하여 실습해보는 것이 가장 좋다.
이 때 branch사이의 충돌은 참고하도록 한다.
네트워크를 통한 보안 프로토콜로, 서버와 클라이언트가 공개키 암호키를 통해 정보를 확인한다.
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값을 입력하지 않았다면 성공으로 간주할 수 있다!