본문 바로가기

Study/TIPS

[깃, 깃허브] 깃허브(Github) 사용법 (w. 얄팍한 코딩사전)

반응형

우선 깃허브를 사용하기 위한 준비 작업을 마친 후 시작하자.

 

1. 원하는 위치에 프로젝트를 진행할 폴더를 만든다.

2. 그 폴더를 vsc로 연다.

 

# Github을 이용하기 위한 사전 작업

 

0. vsc에서 ctrl+` 단축키로 터미널을 연다.

이렇게 하면 직접 입력하지 않고도 현재 폴더로 이동할 수 있다.

 

1. 깃 저장소 만들기

git init

이 폴더가 깃의 관리 하에 들어간 것이다.

 

git config --global user.name "(내 이름)"

git config --global user.email "(내 메일주소)"

이 컴퓨터에서 git을 이용하는 것이 처음이라면 위의 명령어들을 입력해줘야 한다.

 

2. 현재 시점을 저장하기

지금 이 순간을 타임캡슐에 묻어두는 과정.

 

git status

담을 게 뭐가 있는지 알 수 있다. 

 

git add -A

이 곳의 모든 것을 git의 타임캡슐에 넣는 것이다.

깃 용어로 stage한다고 한다.

 

- Untracted files -> add 전

- Changes to be committed -> add 후. commit 해야 할 것들

 

git commit -m "(설명)"

(설명) 메세지로 커밋한다.

 

- nothing to commit, working tree clean -> 모두 commit 되어 묻을 게 없다.

 


 

# Github 사용하기

 

1. Github 저장소 만들기

새로운 repository를 만든다.

이미 git으로 관리하는 프로젝트를 올리는 경우 'initialize this repo. w. a README'에는 체크하지 않는다.

 

2. Github에 소스 올리기

git status로 상태를 확인하고 모두 올린다.

 

git remote 

현 폴더의 원격 레파지토리를 확인하는 명령어

remote==원격이다.

 

 

...or push an existing repository from the command line에 있는 코드를 복사한다.

복사한 코드는 아래와 같다.

git remote add origin http://github.com/(깃허브 이름)/(플젝 이름).git   

이 github 레파지토리를 이 폴더의 'origin'이란 이름의 원격 저장소로 설정하겠다는 의미

* origin은 바꿀 수 있으나 흔히 기본값으로 사용되는 이름

git push -u origin master

push 명령어는 폴더의 현 브랜치에 커밋된 내용들을이 이름의 원격, 즉 이 레파지토리이 이름의 브랜치에 올리겠다는 것이다.

 

 

CLI에 다시 git remote를 입력해보면

추가한 원격 레파지토리 이름인 origin이 나온다.

 

새롭게 변경된 내용을 푸시하려면

add -> commit 후에

git push origin master를 입력하면 된다.

 

 

3. 다루지 않을 파일 설정(.gitignore)

- Git으로 관리하고 Github에 올릴 필요가 없을 때

- 올리면 안되는 파일일 때

- 코드를 실행하면 패키지가 다운받아지거나 코드대로 빌드되어서 자동으로 생성되는 파일들은 어차피 코드만 있으면 그때그때 실행해서 만들 수 있는데 굳이 github 용량 차지할 필요 없음

- 보안적으로 중요한 내용

 

.gitignore

프로젝트 폴더 바로 안쪽, 최상위 공간에 생성한다.

git의 관리에서 제외시킬 파일, 폴더, 기타 요소들을 적음

 

 

4. Github의 소스 내려받기

* private -> 다른 사용자 초대해야 함

다른 사용자를 초대하려면 해당 레파지토리에서

Setting -> Collaborators -> 유저네임/이메일로 초대 -> 권한 설정

 

권한은 레파지를 보기만 할 수 있게 하거나 소스를 푸시할 수 있도록 설정할 수 있다.

 

 

프로젝트 폴더가 들어갈 위치를 vsc로 연 다음 터미널을 연다.

그리고 이 레파지토리의 페이지에서 Clone or download를 누르고 주소를 복사한다.

터미널에 아래와 같이 작성한다.

git clone (복사한 주소)

 

이 vsc에서는 바깥 폴더를 연 것이므로 이 폴더에서의 작업을 하려면

cd \(폴더명)\

으로 폴더 안으로 들어가 작업해야 한다.

 

 

5. 작업 주고받기

git fetch

git status

 

작업이 뒤쳐진 경우,

Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded. 라고 뜬다.

 

 

git pull (원격명) (브랜치명)

으로 가져올 수 있다.

 

 

이렇게 Git을 사용해 원격으로 협업할 때는 

뭔가를 작업하거나 푸시하기 전에 Pull을 하는 게 좋다.

팀원이 작업한 내용을 꾸준히 업데이트 받아야 conflict 방지 가능 

※ 그리고 깃허브에 올라간 내역을 Pull로 다 업데이트 받기 전에는 내쪽에서 Push를 할 수가 없다.

 

 

6. 브랜치 주고받기

 

git checkout -b (브랜치명)

브랜치명의 브랜치가 새롭게 만들어 져서 체크아웃까지 된다.

 

 

git branch는 로컬에서의 브랜치만 볼 수 있지만

git branch -a 

는 로컬과 원격 브랜치 모두를 볼 수 있다.

 

 

git checkout -b my-idea origin/my-idea

로컬에 my-idea 이름으로 브랜치를 만들어서 이 원격이 브랜치의 내용을 받아오고

그 평행우주로 건너간다라는 뜻이다.

 

 

7. 충돌(Conflict) 해결하기

Pull 할 것이 있으면 Push가 안 된다.

그래서 Pull 하려는데 다른 팀원과 같은 부분을 수정해서 충돌하는 경우다.

 

이 경우 둘 중 하나만 남기거나 합의를 봐야한다. 

적당히 파일을 수정하고 저장한다.

 

git add -A

git commit

:wq

git push

순으로 해결하면 된다.

 

 

git push -d (원격명) (브랜치명)

명령어를 이용해 원격의 브랜치를 지울 수 있다.


 

브랜치 사용법이 잘 와닿지는 않는다.

잘 감이 안 와서 실제로 해봐야 할 것 같다.

 

 

 

반응형