본문 바로가기
ETC/Tip

Github 사용하기

by Guardy 2020. 7. 12.
728x90

Git 설치에 이어서 Github를 어떻게 사용하는지 알아보도록 하겠다.'

Window에서 Github 설치하는 방법 보러가기

 

윈도우 환경에서 git과 github 설치 및 설정

GIT은 리누스 토르발스가 개발한 분산형 버전 관리 시스템이다. git을 쓰는 이유는 무엇일까? 예를 들어보자. A라는 회사가 B라는 프로그램을 만들었다. B의 현재 버전은 0.0.0이다. 프로그램을 수정

dev-guardy.tistory.com

우선 Github 홈페이지에서 repository를 새로만든다. 말 그대로 새로운 저장소를 만든다고 보면 된다.

필자는 다음 로그인시 필요한 srpla와 시간을 js로 계산해서 띄워줄 페이지가 필요해서 만드는 저장소이기 때문에 다음과 같이 설정하였다.

.gitignore란 git에 포함시키지 않을 확장자 파일을 설정할 수 있는 것이다.

License는 소프트웨어의 라이센스를 설정하는 것인데 필자는 주로 MIT License를 설정한다.

 

Public과 Private을 설정할 수 있는데, Public은 내가 올린 파일을 다른 개발자들이 볼 수 있는 것이고, Private는 말 그대로 나혼자 Repository를 볼 수 있는 것이다. 필자는 수익이 목적이 아니기 때문에 오픈소스를 해도 상관없어 Public을 선택하였다.

 

Repository를 만들었다면 local 컴퓨터에 git을 만들어주어야한다.

폴더를 올릴 디렉토리에서 다음과 같은 명령어를 친다.

git init

 정상적으로 Git이 설치되었다면 다음과 같이 뜰 것이다.

git init

다음으로 우리는 우리의 git을 remote라는 명령어를 통해 새로만든 저장소를 가르켜야한다.

git remote add origin https://github.com/"username"/gitExample

다음과 같은 명령어를 통해 설정할 수 있다 username은 필자의 경우 dev-guardy이고 gitExample은 방금 만든 저장소의 이름이기 때문에 daumlogin일 것이다. 따라서 다음과 같이 치면 될것이다.

git remote add origin https://github.com/dev-guardy/daumlogin

굳이 origin으로 할 필요없다. 다른 이름으로 바꿔도되지만 주로 origin으로 사용한다.

 

그 다음으로는 git add 명령으로 파일을 추가하고 커밋을 해야한다.

git add .
git commit -m "fitst commit"

first commit 부분은 decription이기 때문에 개발자가 원하는대로 바꿔도된다.

 

이제 우린 push를 통해 origin에 브랜치 내용을 쏴주면 된다.

git push origin master

origin은 git remote add origin ~~ 에서 설정한 origin이다. 만약 gir remote add guardy라고 했으면

이 명령어도 git push guardy master라고 하면 된다.

 

git push origin master
To https://github.com/dev-guardy/daumlogin
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/dev-guardy/daumlogin'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

 

하지만 다음과 같이 에러가 떴는데 다음 에러가 떴을 때 해결방법은 두가지가 있다.

첫 번째. 저장소를 pull 한 뒤 push한다.

두 번째. git push -f origin master 명령어를 입력한다.

 

두 번째 방법의 -f는 force의 약어로 강제로 push 하는 것이다.

두 번째 방법은 추천하지 않지만, 처음 push할 때는 크게 상관없다.

 

다음은 두 번째 방법을 실행 했을 때 결과이다.

$ git push -f origin master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 12.28 KiB | 6.14 MiB/s, done.
Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/dev-guardy/daumlogin
 + 1d95fee...86dba72 master -> master (forced update)
728x90