프로그래머스 데브코스 4일차(Git &GitHub 연동)

박상하·2023년 11월 17일
0
post-thumbnail

본격 GitHub 활용법 🔥

오늘은 GitHub를 협업에서 어떻게 사용이 될 수 있는지 그 기본을 배웠다.
3일차에는 Git을 통해 주로 local에서 버전을 관리하는 방법인

git add
git commit
git push origin main
git status
git log

등을 배웠다면 오늘은 git으로 관리한 폴더(repository)를 어떻게 Github에 연동하여 다른 개발자와
소통할 수 있는지를 배울 수 있었다.

이렇게 Git과 GitHub를 쉽고 재밌게 가르쳐주시다니.. 정말 데브코스를 듣기 잘했다 🤠

먼저 우리는 Git으로 관리한 폴더들을 Github에 연동하여 업로드하고 또 가져올 수 있다.
오늘은 이 두 방법을 모두 배웠다.

자, 먼저 Git을 통해 GitHub와 연동하고 업로드하는 과정을 살펴보자

GitHub와의 연동 🫂

Git은 버전을 local에서 아주 잘 관리할 수 있는 프로그램인데 이에 그치지 않고 GitHub와의 연동까지
서비스한다. 연동할 수 있는 명령어는 다음과 같다.

git remote add 깃허브저장소별칭 깃허브URL

위 명령어를 입력하면 나의 Git repository와 GitHub의 repository를 연결할 수 있다.

즉, git아 원격으로(remote) 연결해줘(add) 깃허브 저장소 별칭은 (보통 origin)이고 해당 깃허브URL은 이거야

CLI로 보면 다음과 같다.

자, 먼저 git remote -v를 했을 때 아무 반응이 없다면 지금 현재 git과 연결된 github의 repository가 없는 것이다.

git remote add origin https://github.com/updownpark2/DevCourseGitTest.git

을 해주어서 git과 gitHub를 연동해주었다.

그럼이제 변경사항을 만들어서 Github에 등록해보자

GitHub 업로드(Commit 올리기) 🗣

연동이 되었다면 이제 나의 local에서의 수정사항(Commit)기록을 GitHub에 업로드할 수 있다.

git push 깃허브저장소별칭 브랜치네임

필자는 git push origin main 을 명령하였다.

수정사항은 다음과 같고 commit 메세지는 recap으로 하였다.

WOW

commit이 잘 기록되었고 이게 Github에 아주 잘 올라와 있는 모습을 확인할 수 있따!!!
대박이다. 이렇게 이해하기 쉬운 걸 필자는 Git에 대해 항상 두려움이 있었던 거 같다.
사실 멘토링을 받았을 때 멘토님께서 Git에 대해 흥미로워하는 모습을 보았다. 사실 그때는 이해하지 못했었는데 지금은 이해가 된다. 얼마나 신기하고 재밌는 프로그램인가!!

자 이제 Github에 올라가있는 코드들을 다른 폴더로 받아보자 이는 결국 다른 컴퓨터에서 받는 과정과
같다고 볼 수 있다!

GitHub에서 코드(파일)받아오기 💨

새로운 IDE를 켜고 이곳에서 다시 받아와 보겠다!!

협업을 하려면 나의 version을 올리는 것도 중요하지만 다른 분의 version을 받아올 줄 알아야한다.
(너무 당연한가 오우)
그럼 이제 받아와보겠다.

먼저 필자가 배운 방법은 git clone이다

git clone 원격저장소 url

자 위 명령어를 입력해보자

자 입력을 했더니? 뭔가가 성공한거 같다. 파일창을 보면

놀랍게도 잘 받아져있다. 자 그러면 이제 여기서 추가적인 수정사항이 있다면 어떻게 해야할까?

정리해서 다른 컴퓨터에서 Git을 통해 Version을 수정하고 Github에 올렸을 때 내가 그 내용을 받아오고 싶다면?

실습을 통해 알아보자

new version 이라는 commit message를 통해 version을 기록하고 github에 push하여 현재는 Github에 가장 최신 버전이 등록되어있다.

이를 한번 가져와보자!

이미 연동이 된 상황에서 수정된 내용을 가져오고 싶다면 ??
잡아 당기다라는 의미의 pull을 사용하여

git pull 깃허브레포별칭 브랜치이름

그래서 필자는 git pull origin main을 설정하였다.

아! 참고로 이따 설명을 하겠지만 지금 바로 pull 할 수 있는 이유는
Git clone을 통해 git과 github의 연동이 이루어진 상태이기 때문에 가능하다.

에러발생!

not a git repository라고 나온다.

이는 무슨말일까? 지금 폴더 git이 관리하는 폴더 아닌데?? .git도 없어!!!

자 자세히 살펴보자 먼저 GitHub의 Repository인 DevCourseGitTest 폴더는 현재
GitTestClone 폴더안에있다.

그럼 지금 내가 가르키고 있는 폴더는 ? DevCourseGitTest일까 GitTestClone일까?
그리고 GitHub와 연동된 Git이 관리하는 폴더는 DevCourseGitTest일까 GitTestClone일까?

GitClone = 연결 + 코드가져오기 👀

GitClone은 Git과 GitHub를 연결하고 또 연결된 폴더의 최신버전을 가져오게 된다.

그럼 해당 연결은 새롭게 가져온 Git Repository와 연결이 된다!
그러니까 내가 해당 GitRepository를 담기위해 생성한 폴더 GitTestClone과 연결된 것이 아닌
DevCourseGitTest와 연결이 된다는 말이다!

그럼 이제 이해할 수 있다.

일단 코드를 가져오는 명령어는

git pull origin main

이니까 git이 관리하는 즉 git이 관리하고 github와 연결된 폴더에서 해당명령을 해여하는 것이다.
우린 CLI 명령어중 cd를 배웠다 그리고 ls도 배웠다 이를 통해 해당 폴더로 들어갈 수 있다.

자 이제 된다!! ls를 통해 내부 폴더를 확인하고 또 cd로 해당 폴더(git폴더)에 접속하여
그 곳에서 git pull 명령어를 내리니 git이 연동된 github를 이해하고 파일을 가져올 수 있게 된다!

아주 잘 가져온 모습이다ㅎㅎㅎ

사실 CLI말고 GUI로도 가능해 😇

CLI로 하면 사실 조금 더 복잡한 느낌이 있다. 그런데 사실 솔직히 CLI가 더 내부 원리를 이해할 수 있고
또 명령어로 이렇게 샥샥 되는 모습이 더 재미가 있다.
GUI는 간단하게 모든 과정이 처리가 가능해서 따로 글로서 올리지 않겠다.

그런데 그냥 GUI로도 가능하고 CLI로도 가능하다는 점이다.

그런데 필자는 앞으로 CLI를 선호할 거 같다. 이를 사용하는 것이 개발자스럽달까 ㅎㅎ

그렇다면 clone하지 않고 git연동 후에 pull 한다면 ❓

이런 궁금증이 들었다. git clone이 아니라 나의 폴더에서 git init을 해서 git 폴더를 만들고
그리고 git remote를 통해 github와 연동하고
마지막으로 git pull해서 파일을 가져올 수 도 있지 않을까??

바로 실습해보자!

올!! 정말 잘된다. 위에서부터 살펴보면

git init

을 통해 Git이 해당 폴더를 바라보게 하고 즉, git이 내 폴더를 tracking할 수 있게하고

git remote add origin main

을 통해 Git repository와 GitHub의 repository를 연동시켜준다.

git pull origin main

을 통해 해당 최신 버전을 받아오니 정말 해당 깃허브의 레포지토리에 있는 파일을 받아올 수 있었다!!!

업로드중..

신기하다. 이렇게 응용할 수 있는 점은 아마 Git과 GitHub를 잘 이해하고 있다고 볼 수 있을 거 같다.

Git Clone은 연결+pull 인거니까 이를 그냥 세분화해서 하나하나 가져와본것이다.

0개의 댓글

관련 채용 정보