Programming-[Base]/Basic of Coding

Git 공부_2. 동작원리와 명령어 등 (Linux CLI)

컴퓨터 탐험가 찰리 2020. 7. 14. 09:28
728x90
반응형

*선행 이해가 필요한 문서

1. Git 공부_1. 기본개념과 사용방법

2. 1. Unix의 기본 - 1-1. Unix의 역사, CLI의 기초 사용방법( ls, cd)1. Unix의 기본 - 1-2. 여러가지 기본 커맨드 살펴보기

 

 

1. Github 시스템의 이해

 

fork : github에서 다른 사람(Maintainer)의 respository(repo.)를 통째로 복사해오는 것이다.

clone : github(remote repository)에서 local(local repo.)로 source code를 복사해오는 것이다.

  >> 'git pull 대상(origin) branch이름(master)' : source code를 local repo.로 복사해올 수 있다.

  >> 'git pull upstream master(branch이름)' : 나의 remote repo.가 아니라, Maintainer의 code를 local repo.로 pull하는 명령어 이다. 

    >>> 다만, git remote add upstream <URL> 명령어를 통해, upstream으로 등록을 해줘야 한다.

'git push 대상 branch이름' : pull의 반대개념으로, local에서 remote repository로 source code를 업데이트 하는 것이다.

 

2. fork 및 clone 하기

아래 그림과 같이 Github page에서, Explore tab에 들어간 뒤, repo. 이름을 검색한다. (사진은 facebook 검색 결과)

우측 상단에 있는 fork 버튼을 통해서, 나의 github repo.(remote repo.)에 해당 repo.를 추가할 수 있다.

그리고 나서, 하단의 초록색 Code 버튼을 누르고, 링크를 복사한다.

Terminal에서 git clone <URL>을 써주면 내가 원하는 directory에 repo.에 있는 모든 파일들을 복사해준다.

  >> Terminal에 복사한 내용을 붙여넣을 때는, Ctrl + Shift + 'V'를 눌러야 한다.

  >> 이후 github ID와 PW를 입력해주면 복사가 완료된다.

 

임시 저장 그림. from CODE STATES

pull은 fetch와 merge를 합친 개념이다.

 

 

staging area : 어떤 파일의 버전 git에 의해 관리받기 위해서는, 반드시 해당 파일을 staging area에 올려줘야만 한다. 이후에 commit이 가능하다.

local에서 작업한 파일이 여러가지 일때, commit을 하기 위한 파일들만 staging area에 올려두는 것이라고 생각하면 된다.

 

'git add 파일명'  : 파일을 staging area에 올려준다.

add로 staging할 파일이 여러 개 라면, "git add ." 을 입력하면 update 되지 않은 모든 파일들이 staging 된다.

 

commit : 변경된 파일을 추적하도록, 그 순간을 저장하는 것이다.

'git commit -m "변경사항 메모내용(commit message)"

  >> commit message를 잘 작성해야 다른 사람들이 변경사항을 잘 추적할 수 있다.

 

 

 

2. 명령어

 

내가 commit 하기를 원하는 파일의 directory로 이동한다. (cd 명령어)

0. 'git init' 명령어를 입력하면, directory에 .git 파일이 생성되며, 변경사항 추적이 시작된다.

1. 'git status' 명령어로 변경된 사항이 있는지 확인한다.

  >> 수정한 부분이 있다면, 'modified(수정함) : 파일명'이 출력된다.

2. 'git add 파일경로' 명령어로 staging area에 변경된 내용을 올려준다.

3. 'git commit -m "commit message' 명령어로 commit을 완료한다.

4. 'git push origin master' 명령어로 commit이 완료된 파일을 본인의 remote repo.(Github)에 업데이트 하도록 한다.

728x90
반응형