본문 바로가기

코딩 관련

git 02. 땡겨오기(pull) 및 복제(clone)

플러터용 앱인 chocolang 을 깃허브에 올려 놓았습니다.

나중에 이걸로 실습을 할 예정입니다.

 

https://github.com/shanghanrun/chocolang

 

1. 여러분의 기본작업폴더(예를 들어 flutter2023)의 터미널 창으로 이동해서 준비하고,

2. 브라우저로 위 주소로 이동합니다.

3.  Code에서  레포지토리 주소를 복사해서

 

4. 터미널 콘솔창에

git clone https://github.com/shanghanrun/chocolang.git   

하고 엔터를 치면, 

해당폴더에 복제가 됩니다.  제가 public으로 저장해 놓았으므로, 여러분들이 해당 주소에 접근이 가능해져서

위 명령으로 복제가 가능합니다.

 

다만, 이렇게 하면 문제가 하나 있습니다.

여러분의 작업디렉토리에도 로컬 레포지토리가 만들어지는데, 제가 만든 이름과 동일한 이름으로 만들어집니다.

그래서 여러분들이 추가 작업을 하고서, 클라우드 레포지토리로 저장을 하려면...

제 레파지토리로 이동해서 저장하려 하고, 여러분은 제 레파지토리에 저장할 권한이 없어서, 결국 거절 당합니다.

 

그래서 그대로 복제하는 것은 가능하고, 여러분 맘대로 수정하는 것은 가능하지만,

그것을 다시 여러분이 원하는 저장소로 저장하기는 불편해요. 그 방법은 이글 맨 마지막에 추가했어요.

 

만약,

남의 것을 클론복제하는 것이 아니라,

여러분의 깃허브를 이용해서 여러분의 것을 올리고,

다른 컴퓨터에서 내려받아서 복제하고, 다시 수정해서 올리는 거라면,

이 방법이 가장 편한 방법입니다.

 

한번 내려받고 나서는 그 다음에 내려받을 때는 git pull 이라는 명령어만 내려도 땡겨올 수 있습니다.

(처음에만 연동시키느라고 레포지토리 주소를 알려준 것이고, 연동된 이후에는 git pull 로 땡겨오라고만 하면 알아서 땡겨옵니다.)

 

git pull은 뒤에서 설명하겠습니다.

 

=====================================

 

두번째 방법(내 저장소의 자료가 아닐 경우에 유용한 방법)

이것도 간단해요.

이걸 누르면 zip 파일이 다운로드 됩니다.

그런데 이름이 약간 바뀌어서 내려와요.

chcolang-mater.zip  식으로     "-mater"라는 단어가 추가로 적혀서 옵니다.

이것을 압축해제해서 풀어도 

chcolang-master 식의 이름으로 폴더가 되어 있어요.

이때, 폴더이름을 변경해서   chcolang 으로 바꾸세요.

dart언어는   -(대쉬) 기호를 사용하면 안됩니다.   _(언더바) 기호는 가능합니다.

flutter 프로젝트를 만들 때는, 경로 이름에 한글이 섞여서도 안됩니다. 대쉬도 안됩니다.

 

 

여하튼 chcolang으로 폴더 이름을 바꾸면, 내 프로젝트 된 거예요.ㅋㅋ  너무 간단하죠?

그것을 vscode로 열어서 작업하면 되구요.

 

이제 내 프로젝트가 된 거니,

내 깃허브에 올려도 되요(vscode를 통해 쉽게 깃허브에 올릴 수 있어요).

vscode에서 git로고 누르고, (깃허브 저장소에 처음 올리는 것이니) initialize 하고, commit하고  publish public 하세요.

 

 

그 후에 vscode로 추가 작성하고, 또 commit, publish 하고

 

여기서 올린 내용을,  다른 장소의 다른 컴퓨터로 받고 싶으면(당연히 해당 컴퓨터에도 깃이 인식되도록 git --global username... 명령으로 인식부터 시켜야 겠죠. 일단 한번은 해둬야 됩니다.),

그리고 

받고자 하는 레포지토리 주소를 복사해서

git clone 주소

하면 다운 됩니다.

추가로 코드를 작성하고 commit, publish

 

 

본래의 장소로 와서

깃허브 저장소에 수정된 내용을 다시 내려받으려면(이미 깃저장소와 연계가 된 상태이므로)

git pull 명령을 내리면 수정된 것만(최신 버전으로) 알아서 받아지게 됩니다.

이런 식으로 땡겨옵니다.

 

 

 

초보자는 이것만 알면 됩니다.

누군가와 협업할 정도로 실력이 올라가면, branch 라는 것 하나 더 배우면 되요.

저도 그때가 좀 왔으면 좋겠네요..ㅎㅎ

 

 

 

===============================

git clone으로 복제하를 하면, 

해당 프로젝트폴더 안에  .git 이라는 폴더가 생성되는데,

그 안의 config 파일을 열어보면,

연결된 레포지토리 주소가 나옵니다.

 

publish 할 때마다 이 주소로 가는 거죠.

그래서 다른 사람의 프로젝트를 git clone으로 복제했다면, 다른 사람의 레포지토리 주소로 되어 있으므로,

이것을 자신의 레포지토리 주소로 바꾸어 주면 될 것 같습니다.

그런데.. 저는 안해 봐서 몰라요. ㅎㅎ

 

.git 폴더는 그냥 건드리기 싫습니다. 알아서 하게 놔두세요.

zip으로 다운 받아서, 이름만 바꾸면 되니깐 그걸로 하세요.

 

 

앗!!!!  생각해 보니 간단히 해결되겠네요.

git clone으로 복제하고,  해당 디렉토리 안의 .git 폴더만 삭제하면 됩니다.

그러면 git에 대한 정보가 다 사라지니까요.!

 

 

 

 

 

반응형
LIST