SMALL
원격 저장소 생성하기
Github에 로그인 후 메인 페이지에 가면 Dashboard가 보인다.
[New] 버튼을 눌러보자.
위와 같은 페이지가 나온다.
Repository Name
에는 저장소의 이름을 영어로 입력한다.- 한글 및 특수문자는 모두 하이픈
-
으로 치환된다.
- 한글 및 특수문자는 모두 하이픈
Description
에는 저장소에 대한 설명을 간략하게 입력한다.- 귀찮으면 넘겨도 된다.
Public
과Private
은 이 저장소를 공개할 것인지, 비공개로 둘 것인지를 선택하는 것이다.
TMI
원래 Github의 Private
저장소는 유료였는데, 3인 미만은 무료로 쓸 수 있게 바뀌었다.
다만 무료 사용자는 Private
저장소에서 Pull Request
등의 여러 협업 기능을 사용할 수 없고,
3인 미만의 무료 사용자 팀이라면 Organization
을 생성해 사용할 수 있다.
Add a README file
은README.md
파일을 자동으로 생성해준다.- 수동으로 생성하는게 편하므로 체크하지 않는 것을 추천한다.
Add .gitignore
은.gitignore
파일을 자동으로 생성해준다.- 해당 파일은 아래와 같은 목적으로 사용한다
1) 프로젝트 파일 중 비밀번호나 인증서 파일 등이 노출되지 않도록 제외한다. (보안 측면)
2) 빌드 파일 등 필요없는 파일을 제외하여 쓸데없이 커밋내역을 잡아먹지 않도록 한다.
3) 임시로 넣은 이미지, 동영상 등의 리소스파일을 제외하여 공간효율성을 늘린다. (리소스는 S3 등 외부 스토리지를 활용) - gitignore에 대한 자세한 내용은 아래 Git Ignore에서 자세히 다루도록 한다.
- 이 역시 프로젝트에 맞게 수동으로 추가하는 것이 편하므로
None
으로 둔다.
- 해당 파일은 아래와 같은 목적으로 사용한다
Choose a license
는 이 저장소의 라이센스 내용이 담겨 있는license
파일을 자동으로 생성해준다.- 라이선스는 GPL, Apache 등 리포지토리의 목적에 따라 다르며, 일단
None
으로 두어 패스하도록 하자. - 라이선스에 대한 자세한 내용은 추후 포스팅 후 해당 위치에 링크로 대체한다.
- 라이선스는 GPL, Apache 등 리포지토리의 목적에 따라 다르며, 일단
자, 이제 코드를 깃허브에 올릴 준비가 되었다.
Visual Studio로 생성한 C++ 프로젝트를 해당 저장소에 올려보자.
로컬 저장소 생성하기
- C++ 프로젝트의
.sln
파일이 있는 위치로 이동한다.- Visual Studio에서 솔루션 우클릭 -
파일 탐색기에서 폴더 열기
를 클릭하면 바로 열 수 있다.
- Visual Studio에서 솔루션 우클릭 -
- 주소창에
cmd
를 입력하거나, 빈 공간에 우클릭 후Open Git Bash here
을 클릭해 콘솔창을 연다. - 콘솔창에
git init
을 입력한다. cmd
라면 별 변화가 없을 것이고,git bash
라면 디렉터리 뒤에(master)
라고 나올 것이다.
원격 저장소
를 연결해주기 위해 아래 명령어를 입력한다.
git remote add [원격 저장소 이름] [원격 저장소 주소]
원격 저장소 이름
은 추후 여러 개의원격 저장소
를 사용할 때 사용할 별칭이다.- 이름은 아무거나 지어도 상관 없지만, 기본이 되는
원격 저장소
의 이름은origin
을 사용하는 것이 관행이다.
- 이름은 아무거나 지어도 상관 없지만, 기본이 되는
- 잘 추가되었는지 확인하려면
git remote -v
를 입력하면 된다. - remote 명령어에 관한 내용은 추후 포스팅 후 해당 위치에 링크한다.
Git Ignore 생성하기
- 솔루션 폴더 빈 공간에 우클릭 -
새로 만들기
-텍스트파일
을 클릭해 새 텍스트파일을 만들고, - 파일명을
.gitignore
이라고 바꿔준다. - 이 때 윈도우 탐색기에 확장자명이 보이지 않는 상태라면 반드시 폴더의
보기
-파일 확장명
을 체크해 텍스트파일의 확장자명.txt
를 제거해 주어야 한다.
- Github gitignore 페이지로 접속한다.
- 겁나게 많지만, 우리가 쓸 파일은 두가지이다.
- 먼저
C++.gitignore
파일을 클릭해 내용을 보자.
- 위와 같이 gitignore에 들어갈 내용이 보인다.
- 우측 상단의 복사 아이콘을 클릭해 복사해 방금 만든
.gitignore
파일 안에 넣어준다. - 이전 페이지로 돌아가
VisualStudio.gitignore
파일의 내용도 똑같이.gitignore
파일 안에 넣어준다.
- 해당 프로젝트에서 임의의 인증서
private.pem
파일을 사용한다고 가정하고,certificates
폴더와.pem
확장자 파일도 제외해보도록 하자. certificates
폴더는 대문자 또는 소문자로 시작하거나 맨 마지막에s
를 포함하지 않을 수도 있다.
...
[Cc]ertificate?(s)/
*.pem
Github에 업로드 하기
자, 이제 솔루션을 포함한 코드를 원격 저장소
에 올릴 준비가 되었다.
콘솔에 아래 명령어를 입력한다.
git add .
git commit -m "나의 첫 커밋, 프로젝트 생성"
git add [파일명]
명령어는 해당로컬 저장소
에서Untracked
또는Modified
상태인 파일을Staged
상태로 만들어준다.- 파일명 대신
.
을 입력하면 해당 경로의 하위 디렉토리에 있는 모든 폴더 및 파일을Stage
한다. - 다만,
.gitignore
파일의 내용과 일치하는 폴더 및 파일은Stage
하지 않고,Ignored
상태로 둔다.
- 이 상태에서 그냥
git push
를 했다간, 아래와 같은 오류를 맞이한다.
원격 저장소
에master
브랜치(분기)가 없어서 올릴 수 없다는 뜻이다.로컬 저장소
에서Branch(분기, 가지)
를 새로 만들고원격 저장소
에 적용하려면git push -u [원격 저장소 이름] [브랜치명]
을 입력하면 되는데, 이 저장소는 아무런 브랜치도 없는 새삥이기 때문에 최초 1회는 반드시 해주어야 한다.- 여기서 잠깐, 깃허브 원격 저장소 초기 페이지를 보면 아래 그림과 같이
main
을 사용하라고 한다.
- Git CLI를 사용했을 때 본래 기본 브랜치명은
master
이지만, 깃허브측에서 노예제도와 인종차별을 연상시킨다고main
으로 바꿔버렸다.- 귀찮으면 그냥
git push -u origin master
로 올려버리면 되고,main
을 쓰겠다면git branch -M main
이후git push -u origin main
명령어로 올리면 된다. - 여기서
-u
옵션은--set-upstream
의 약자로,원격 저장소 origin
에main 브랜치
를 올리라는 뜻이다.
- 귀찮으면 그냥
브랜치
를 원격 저장소
에 한 번 올렸다면, 이후부터는 --set-upstream
옵션을 빼고 git push
만 쓰면 된다.
Push가 완료되었다면 Github 원격 저장소의 페이지에서 파일명, 마지막으로 수정된 커밋명/시간을 볼 수 있다.
BIG
'ETC > Git' 카테고리의 다른 글
Git 입문자 안내서 - 06 : 가지치기 (0) | 2024.01.08 |
---|---|
Git 입문자 안내서 - 05 : 코드 변경, 추가 반영하기 (0) | 2024.01.05 |
Git 입문자 안내서 - 03 : git config (0) | 2024.01.05 |
Git 입문자 안내서 - 02 : Github에서 받아오기 (0) | 2024.01.05 |
Git 입문자 안내서 - 01 : 설치하기 (0) | 2024.01.04 |