이전 글
깃(Git)과 깃허브(Github) 공부하기 - 2 (branch)
깃(Git)과 깃허브(Github) 공부하기 - 3 (원격저장소)
< Github 사이트>
GitHub: Let’s build from here
GitHub is where over 94 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...
github.com
git/git을 검색하면 나오는 git개발자 파일을 로컬저장소로 내려받아보자
지금까진 init을 썼는데 이번엔 clone을 사용한다
git clone https://github.com/git/git.git gitsrc(폴더명) : 원격 저장소를 지역저장소로 복제 .
참고로 이 실습에선 init을 안해도 원격저장소에 있는 .git파일이 딸려오기 때문에 init 을 안쓰고 clone만 써도 괜찮다
cf. git log --reverse : log정보를 거꾸로 볼 수 있음 (처음만든게 가장위)
확인해보면 여러 git/git의 파일들이 그대로 받아졌다
그 중 하나의 커밋 내용을 보고싶다면?
- git checkout (커밋아이디) : 해당 커밋으로 브랜치 이동하듯이 checkout됨 그러면 git log해도 해당 커밋만 보이고
ls -al하면 그 커밋이 가지고있는 파일들만 확인 가능
cf. 그 중 하나의 커밋 내용을 보고싶다면?
- git checkout (커밋아이디) : 해당 커밋으로 브랜치 이동하듯이 checkout됨 그러면 git log해도 해당 커밋만 보이고 ls -al하면 그 커밋이 가지고있는 파일들만 확인 가능
cf. .의 의미
git init .
git clone https://github.com/git/git.git gitsrc . 등 뒤에 .이붙으면 현재 있는 이 파일이라는 뜻
<원격 저장소와 지역 저장소의 동기화 방법>
git push -u origin master :
- 깃에서 관점은 로컬저장소 기준이다. push를 한다는 것은 로컬저장소에 있는 파일을 원격저장소로 push한다는 얘기
- 현재 checkout되어있는 로컬저장소의 브랜치를 origin에 해당되는 원격저장소 주소, 그중에도 master 브랜치에 push 한다
- 이 명령은 처음 한번만 쓰면 된다. 로컬저장소와 원격저장소의 master브랜치를 연결시켰기 때문에 다음부터는 git push만 하면 자동으로 넘어가게 하는 옵션이다
=> 원격저장소에 푸쉬된거 확인 (백업의 의미를 갖기 시작한다)
다른 컴퓨터에서도 작업을 해야 할 때가 있으면 원격저장소를 로컬저장소로 복제해야한다
- 그럴땐 git/git 을 로컬에 내려받은 위의 실습처럼 git clone https://github.com/kxceh/gitfth2.git .
=> git remote -v 로 확인하면 원격저장소와 로컬저장소가 연결되어있는 것을 확인할 수 있고
이때 원격저장소 주소는 origin의 기본 별명으로 설정되어있는 것을 알 수 있다.
이와 같은 원리로
하나의 원격저장소를 중심으로 해서 두개의 지역 저장소가 작업을 동기화 할 수 있다
: 장기적으론 협업관련 내용이고 혼자 여러대의 컴퓨터를 이동하면서 작업할 때 활용할 수 있는 방법
상황예시
1. 두 컴퓨터 모두 Github(원격저장소)의 https://github.com/kxceh/gitfth2.git . 같은 스토리지를 동기화 했다고 가정 2. 집에 있는 첫번째 컴퓨터에서 작업한 파일을 git push 3. 다음날 회사가서 두번째 컴퓨터에서 어제 집에서 원격저장소에 올린파일을 git pull , 작업한거 push 4. 과정반복 |
< SSH>
- 여태까지 했던 https의 방식과 ssh는 대등한 관계의 서로 다른 통신방법이다
- https 방식의 단점 : 업로드/접속 시마다 아이디와 패스워드를 사용해야 한다
- ssh 방식 : 할 때 마다 로그인을 하지 않고 원격 저장소를 이용할 수 있다
- 나중에 필요해지면 보자 ! https://opentutorials.org/course/2708/15433