본문 바로가기
  • soldonii's devlog
Javascript 공부/Zero To Mastery(-)

(13) 커맨드 라인, 깃, 깃허브

by soldonii 2019. 8. 27.

*Udemy의 "The Complete Web Developer in 2019 : Zero To Mastery" 강의에서 학습한 내용을 정리한 포스팅입니다.

*https://soldonii.github.io에서 2019년 7월 18일(목)에 작성한 글을 티스토리로 옮겨온 포스팅입니다.

*자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :)


1. Using The Terminal

# Command Line

1980년대 정도까지만 해도 프로그래머들은 Command Line을 통해 컴퓨터에게 지시를 내리고 아웃풋을 얻어냈다. 기본적인 command line 명령어를 알아보자.

 

ls(list, 현 디렉토리 내 파일/폴더 리스트), pwd(present working directory, 현재 작업 중인 폴더), clear(터미널 청소), mkdir {name}(폴더 만들기), touch {name}(파일 만들기), mv {filename1} {filename2}(파일명1을 파일명2로 바꾸기), rm {filename}(파일 지우기), rm -r {foldername}(폴더 지우기)

 

open(열기)

  • open {filename} : 해당 파일 열기
  • open -a code : VS code 열기
  • open -a code index.html : VS code로 index.html 열기

cd(폴더 이동)

  • cd.. : 한 디렉토리 위로 이동
  • cd / : root directory로 이동
  • cd ~ : user directory로 이동

 

2. Git + Github Part 1, 2

# Source Control

Source Control을 통해 여러 사람들이 다른 장소에서 같은 파일에 접근해 사용할 수 있도록 한다.(ex. google docs)

 

# branch

출처 : https://www.udemy.com/the-complete-web-developer-zero-to-mastery/

 

git clone을 통해 repo를 복사하고, gid add 및 git push를 통해 작업내용을 github server에 업로드하고, git pull을 통해 최근까지의 변경 내용을 local에 저장할 수 있었다. 그런데 만약 변경되면 안되는 중요한 내용이 있음에도 내가 그 정보를 변경했고, 이에 대해 팀원들이 알지 못한다면? Facebook 같은 거대한 회사에서 일했다면 아주 막대한 손실을 볼 수도 있는 상황이다.

 

이를 방지하기 위해 branch 개념이 필요하다. 바로 master branch로 업로드하지 않고, 사진 속 보라색/초록색 같은 side branch로 업로드한 후 문제가 없을 경우 master branch로 merge하는 방식이다.

  • git branch {name} : 새로운 branch를 생성한다.
  • git checkout {name} : 다른 branch로 이동한다.

만일 여러 branch에서 팀원들이 작업하던 중, 같은 line에 서로 다른 변화를 주어서 충돌이 발생하면 어떻게 될까?

출처 : https://www.udemy.com/the-complete-web-developer-zero-to-mastery/

충돌이 발생했을 때 git pull을 진행하면 위와 같은 오류 메세지를 나타낸다.

  • <<<<<<< HEAD : 내 branch가 어디에 있는지를 나타낸다.
  • ======== : 내 branch에서의 끝을 의미한다.
  • >>>>>>> master : master branch에서는 어떠한 차이점이 있는지를 나타내준다.

댓글