깃허브 사용하기

Dingool95·2021년 6월 8일
0
post-custom-banner

Git 이 뭐냐?

'깃'은 파일관리 시스템이라고 할 수 있다.
주로 협업을 위해서 사용하고, 개발되었다고 볼 수 있다.

일단 나는 협업은 둘 째 치고, 소스코드가 가득 들어있는 컴퓨터를 반납해야 되는 상황이 왔고, 소스코드는 지켜야했다.

배운지가 까마득해서 정리는 안되어있고, 소스코드는 기억이 나지 않지만
깃허브에 소스코드를 올려놓으면 어디서든지 볼 수 있다.


깃허브 시스템 이해하기

윈도우든 리눅스든 깃과 아주 호환이 잘 되는 것으로 알고 있다.

윈도우는 github destktop을 깔면 무지성으로 편하게 사용할 수 있다.

git에서만 사용되는 여러가지 용어들이 있는데, 항상 새로운 개념들은 활자로 정의해놓은 글을 읽어봤자 이해되지 않는다.
시각적으로 이해한 바를 설명해보겠다.

우선 git을 받게되면 원하는 디렉토리에서 아래 명령어를 실행한다.

$ git init

위 명령어를 실행하면 .git이라는 하위 디렉토리가 생성되는데 이 하위 디렉토리에서 git init을 실행한 디렉토리의 파일 버전을 관리할 수 있는 뼈대가 설치된다.

이제 .git이라는 하위 디렉토리가 있는 디렉토리를 working repository 라고 한다.
working repository의 변경사항을 보고하는 절차가 필요하다.
보고하기 전에 staging영역 이라는 것이 존재하는데, 일단 내 눈에는 보이지 않는다. 어디에 존재하는지는 모르겠다. 보고할 변경 파일들을 add명령어로 정한다. add로 선정된 파일들은 보고할 준비가 되어 staging영역으로 올라간다.

$ git add .
$ git add *.c

위와 같은 방식으로 add할 수 있다. 첫 번째 방식은 모든 파일을 전부 다 add하는 것이다. 굳이 보고할 파일을 선별할 필요 없다면 무지성으로 첫 번째 명령어를 실행하면 된다. 두 번째와 같이 원하는 파일만 보고할 수도 있다.

$ git status

위 명령어로 어떤 파일들이 add되었는지 확인할 수 있다. add된 파일들은 초록색으로, 그 외는 빨간색으로 뜬다.

이제 보고할 대상들이 정해졌으니 staging영역에 있는 보고할 사안들을 보고해야한다. 이 보고를 commit이라고 한다.
commit은 아래와 같은 명령어로 실행할 수 있다.

$ git commit -m "upload"

-m이라는 옵션은 메세지를 의미한다. 안 적게되면 commit이 되지 않았다. 메세지는 나중에 github에 업로드 되면, 각 파일이름 옆에 표시된다.

근데 대체 어디로 보고하는건가? local repository로 보고하는 것이다.

다음과 같이 정리할 수 있다.
1. working directory 에서 staging으로 add
2. staging에서 local repositorycommit

이제 내 컴퓨터에만 있는 local repository를 깃허브에 있는 저장소로 업로드 해야한다.

깃허브의 저장소를 remote repository 라고 한다.
우선 깃허브에 가서 remote repository를 만들어야 한다. 만들 때, Add a README file 이라는 옵션이 있는데, 선택하게 되면, 자동으로 README.md 파일이 만들어지는데, branch라는 것의 default명으로 main이 된다. 일단 내가 하는 방식에서는 나중에 문제가 생기므로 옵션을 체크하지 않는다.

만들게되면 url이 생기는데, 다음과 같은 형식이다.
https://github.com/{닉네임}/{repository 이름}.git

이제 다음 명령어로 local repositoryremote repository를 연결해준다.
alias는 보통 origin으로 많이 쓴다.

$ git remote add {url alias} {remote repository url} 

이제 local repository에서 remote repositorycommit된 변경사항들을 업로드 한다. 이 업로드를 push라고 한다.

$ git push {remote repository url} {branch name}

remote repository url이 길어서 아까전에 alias로 설정한 이름을 써주면 간편하다. branch라는 개념이 등장한다.

branch는 '나뭇가지'라는 의미를 갖고 있다. 의미 그대로의 기능을 하는 녀석이다. 협업 시에 주 프로젝트가 있고 나중에 합쳐지게 될 곁가지들이 있을거다. 개발 중인 곁가지를 주 프로젝트에 합치면 문제가 생길 여지가 많기 때문에 branch라는 것을 사용한다고 한다. 아직 제대로 사용해본 적도 없고, 파일을 올리는 현재의 상황에서는 크게 신경 쓸 필요가 없다.

다만, 알아둬야 하는 것은 주 branch의 이름이 local repository에서는 master 가 default이다.

$ git branch

위 명령어로 현재 branch이름을 확인할 수 있다.

어쨌든 위와 같은 이유로 일반적으로 push 명령어는 아래와 같다.

$ git push origin master
profile
내 맘대로 요점정리
post-custom-banner

0개의 댓글