본문 바로가기
TIL/The Complete Web Developer in 2021: Zero

Git + Github + OpenSource Projects(2021-02-13)

by Dev_Dank 2021. 2. 13.

- 웹개발을 배우기 위해 Udemy에서 the-complete-web-developer-zero-to-mastery를 수강한 내용을 정리하는 포스팅입니다. 

- 틀린점이있거나 다른 의견이 있으시다면 언제든지 댓글로 남겨주시면 감사하겠습니다 :)


Git + Github Part 1

현업에서는 팀멤버도 매우많고 파일의 종류도 매우 다양하다. 

Source control은 여러명의 사람이 각자 다른장소에서 같은 파일에 작업할 수 있도록 도와준다(마치 구글 docs처럼). 

먼저 git for window를 다운받도록 하자. 

gitforwindows.org/ 

 

Git for Windows

Git for Windows focuses on offering a lightweight, native set of tools that bring the full feature set of the Git SCM to Windows while providing appropriate user interfaces for experienced Git users and novices alike. Git BASH Git for Windows provides a BA

gitforwindows.org

현재 두사람이 협업을 해야하는 상황이라 가정을 해보자. 

먼저 깃헙에가서 새로운 리포지토리를 만들어준다. 

그리고 리포에 생성된 링크를 복사하고 

그리고 터미널을 이용하여 복사를 원하는 폴더에서 clone을 해준다. 

터미널에서 "git clone 위의 링크" 명령어를 쓰면 해당 폴더가 클론된 것을 볼 수 있다. 

 

해당 폴더에 가보면 .git이랑 README가 생긴것을 볼 수 있다. 

터미널에서 위에서 클론한 폴더에 들어가보면 브랜치의 이름(main)이 같이 뜬다. 

이제 깃헙 리포에 파일을 업로드 하는법을 보자. 

아까 봤던 background-generator 폴더에 올리고 싶은 파일을 넣어두고 터미널에서 git status 명령어를 쳐보면 Commit할 내용들이 나온다. 

background-generator폴더에 복붙해넣은 파일이 보인다.

여기서 git add 명령어로 커밋할내용들을 정해주고 

git add . 은 모든걸 다 커밋한다는 뜻이다. 

git status 명령어로 한번더 확인해보면 커밋할 파일의 목록들이 보인다. 

git status 명령어로 한번더 확인한 모습. 

git commit 명령어를 사용해서 이제 해당 내용을 커밋 할 수 있다. 그리고 git commit 명령어를 사용할때는
git commit -m "메세지내용" 으로 메세지를 남길수도 있다. 

마지막으로 git push 명령어를 사용해서 github.com에 이러한 변경점을 업로드 하게 할 수 있다. 

한가지 내가 헷갈렸던부분은 처음 git 커멘드를 터미널에서쓰면 파일을 commit 이나 push 할때 누구인지 정보를 밝히라는 메세지가 뜬다는 것이다.

그후 깃헙에 가서 확인해보면 정상적으로 커밋이 위에서 작성한 메세지와 함께 된것을 볼수 잇다. 

본인의 깃헙계정에 설정해준 이메일 주소로 $ git config --global user.email "email@example.com" 을 터미널에서 설정해주면 된다. 

docs.github.com/en/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address

 

Setting your commit email address - GitHub Docs

Setting your commit email address You can set the email address that is used to author commits on GitHub and on your computer. GitHub uses your commit email address to associate commits with your GitHub account. You can choose the email address that will b

docs.github.com

git pull 명령어를 사용하면 해당 리포지토리에서 가장 최신의 내역을 받아 올 수 있다. 

Git + Github Part 2

이전강의에서 한대로 하면 파일수정을 쉽게 할수 있엇다. 근데 문제는 만약 이렇게 쉽게 메인을 바꿀수 있다면 실제 프로덕트에 수정을 너무 쉽게 가할수 있는건데 실수를 하면 큰일이 날수도 있지 않을까?

그점을 해결하기 위해 브랜칭(Branching)이라는 기술을 이용한다. 

지금까지 강의에서는 전부 main이라는 브랜치에서 작업을 수행했다. 

강의가 2017년 녹화된거라 master로 되어있는데 이제는 main이라고 부른다.

이제 만약 어떤 기능을 추가 하고 싶다면 브랜치를 하나 만들어서 메인브랜치에 영향 없이 거기서 따로 작업을 하고 작업이 완료되면 해당 내용을 메인 브랜치로 가져오는 방식으로 작업을 하는 것이다. 이런 작업을 merge라고 한다. 

줄친부분에 나온게 브랜치 이름이다. 

항상 무언가 작업을 할때는 main에서 하지말고 따로 브랜치를 만들어서 하는 것이 좋다.  그래야 가장 안전하다. 

git branch 명령어를 쓰면 현재 브랜치목록들을 볼 수 있다. 

git branch 브랜치이름 을 쓰면 새로운 브랜치를 만들 수 있다. 

새로운 브랜치를 만들도 git branch로 나열시키면 새로만든 브랜치를 확인 할 수 있다. 메인 브랜치가 에스터리스크(*)와 함께 강조되는이유는 현재 메인 브랜치에 있어서 그렇다.

다른 브랜치로 가는방법은 checkout 브랜치이름 명령어를 쓰면 된다. 

git push 명령어로 해당브랜치에 푸시를 하면 아마 이런 에러 메세지가 나올텐데 Git이 어느 브랜치에 푸시를 해줘야하는지 모르기 때문이다. 

따라서 Git 에게  앞으로는 git push 명령어를 입력하면 littlefeature라는 브랜치에 푸시해줘 라고 명령을 내려줘야한다. 
git push --set-upstream origin littlefeature 명령어를 사용하자. (여기서 origin은 github를 의미한다.)

깃헙에 가보면 새로운 브랜치가 생겼다는 메세지가 뜬것을 정상적으로 확인할수있다. 

Compare & Pull request를 눌러서 가보면 어떤 점이 변경됬는지와 함께 메세지를 남길 수 있다. 

이후 리뷰과정을 거치고 해당 브랜치를 머지(merge)하면 메인 브랜치에 수정사항이 다 반영된다. 

머지 컨플릭트가 발생하는경우는 강의 189강을 참조

 

'TIL > The Complete Web Developer in 2021: Zero' 카테고리의 다른 글

React.js (2021-02-15~17)  (0) 2021.02.15
NPM + NPM Scripts(2021-02-14)  (0) 2021.02.14
Command Line(2021-02-13)  (0) 2021.02.13
Advanced Javascript(2021-02-10~2021-02-12)  (0) 2021.02.10
DOM Manipulation(2021-02-09)  (0) 2021.02.09

댓글