깃허브를 검색하고 들어가서 오른쪽 위의 "Sign up" 눌러서 회원가입 한다.
이메일, 사용자 이름, 비번 등 입력하고 "Sign In" 눌러서 로그인을 한다.
왼쪽의 "New" 버튼이나 오른쪽 위의 +에서 "New repository"를 클릭 한다.
"Repository name"에 원격 저장소 이름, 즉 프로젝트를 올릴 폴더 명을 입력한다.
그 밑에는 전체 공개 또는 비공개를 선택하는 건데, 보통 깃허브를 쓸 때 소스코드를 남들과 공유하는 일이 많기 때문에 웬만하면 전체 공개인 "Public"으로 설정하고
"Create repository"를 눌러 원격 저장소를 생성 해준다.
그럼 아래 화면이 뜰 것이다.
깃을 설치한 다음, 먼저 코드를 짤 작업 폴더를 하나 만들어 준다. 나는 바탕화면에 폴더명은 'Test_1'로 만들어 주었다.
폴더를 오른쪽 클릭하여 "터미널에서 열기" 또는 "PowerShell 창 열기"를 눌러주면 아래와 같은 창이 뜰 것이다.
git config --global user.name "유저 이름"
git config --global user.email "이메일@naver.com" (깃허브 가입할 때 쓴 이메일)
을 차례대로 입력한다.
잘 입력됐는지 확인하고 싶다면,
git config --list
를 입력해서 user.name과 user.email만 잘 들어갔나 확인하면 된다.
이 작업은 깃을 내 컴퓨터에서 처음 쓰는 경우에만 해주면 되는 것이고, 한번 해주면 다음부턴 하지 않아도 된다.
주의> 아래 Second 내용을 따라 하려면 git과 Visual Studio Code가 설치되어 있어야 한다.
상단의 "Terminal -> New Terminal"을 누르면 아래쪽에 터미널 창이 생긴다.
마우스 왼쪽 클릭으로 "New File" 또는 폴더명 옆에 파일 추가하기 모양을 눌러서 파일명을 입력한다. 파일명.txt .py .html .css 등 필요에 따라 파일 종류를 선택하면 된다.
일단 one.txt 파일을 만들어 주었다.
터미널에 "git init" 입력하기
git init
git이라는 소프트웨어가 작업 폴더를 감시하기 시작하고 깃을 쓸 준비, 즉 초기화를 해주겠다는 의미이다.
맨 처음에 소스코드를 올릴 때에는 "git init"을 해주어야 한다.
깃허브에 내 소스코트를 올리고 싶다. 즉 백업하고 싶다 하면, 깃허브는 기본 브랜치 이름을 master가 아니라 main으로 설정하라고 강요하기 때문에 기본 브랜치 이름도 main으로 변경해준다.
git branch -M main
을 터미널에 입력한다.
올릴 코드나 수정한 코드를 적고, 터미널 창에
git add 파일명 또는 git add .
git commit -m '메모'
를 입력한다.
"git add ."은 이 폴더에 있는 모든 파일을 추가하겠다 라는 뜻이고,
"git add 파일명"은 이 파일 하나만 추가하겠다는 뜻이다.
파일의 현재 상태를 기록, 즉 백업시키고 싶은 파일에 add를 사용한다.
commit은 파일의 히스토리를 만들어 주는 것이다.
그 히스토리의 이름이 ' ' 안에 들어갈 내용이 되는 것이다.
이러면 방금 파일의 내용과 커밋을 기록해준다.
이제 한참 뒤에도 이 파일상태 그대로 되돌릴 수 있고,
나중에 파일변경 히스토리가 궁금하면 열람할 수도 있다.
코드를 짜다가 이 내용을 원격 저장소에 백업하고 싶다, 올리고 싶다(=push) 하면 터미널에
git push -u 원격저장소주소 main(=올릴 로컬 브랜치명)
을 입력해준다.
원격 저장소 주소는 깃허브에 들어가서 First의 3번에서 만든 원격 저장소를 보면 된다.
"git push -u 원격저장소주소 main" 을 터미널에 입력하고
(Second에 5번을 해주지 않았으면 main 대신 master라고 입력)
깃허브에 들어가서 새로고침 해보면
이렇게 커밋한 내용과 파일이 잘 들어가 있는 것을 볼 수 있다.
만약, 코드를 짜다가 바뀐 부분을 다시 깃허브에 올리고 싶으면, Second의 6번으로 돌아가서 add와 commit을 해주고 다시 push 해주면 깃허브에 수정된 버전이 올라간다.
(git init은 처음 원격 저장소로 올릴 때에만 해주고, 그 다음부턴 하지 않아도 된다)