1. github에서 repository 생성
github 사이트의 대시보드에서 new 버튼을 눌러 새로운 git repository를 생성한다.

github의 새로운 프로젝트 생성화면은 다음과 같다.

입력란에 빨간줄을 쳐놨는데, repository이름을 입력하고, 프로젝트를 공개할지여부를 Public/Private로 선택한다. 그 아래로, README 파일 및 .gitignore, license파일들을 자동생성해주는 옵션이 있는데, 작업중인 소스코드를 올리려는 경우, 충돌이 있을 수 있으니 다 비워주고 추가하지 않는다. 마지막으로 Create repository 버튼을 눌러 레포지토리 생성.
repository를 새로 생성하면, 다음과 같은 안내화면이 나온다.

윗줄에 생성한 git repository의 url이 표시가 된다. 이걸 오른쪽에 카피버튼을 클릭해 복사해 놓는다. 그 아래로는 어떻게 해야할지 안내가 나오는데, 현재 작업중인 소스에 git이 사용되지 않는다면, 새로운 git을 생성하는 단계부터 나오는 윗 블럭을 참고하면 되고, 이미 git을 사용중이면 그 아래 중간 블럭을 참고하면 된다.
간단히 요약하면, 작업중인 컴퓨터인 로컬에서 생성한 git의 리모트(remote)로 git hub에 생성한 git repository를 지정하는 과정이다. branch 이름을 달리 해도 가능하나, 특별한 이유가 없다면, 위 이미지에 사용된대로 origin과 main을 사용하자.
2. 로컬 git repository 생성
나는, 따라하고 있는 Godot 4 tutorial중에 Heart Platformer series 를 올릴 것이다. 지금까지 git사용없이 작업을 해왔어서 git init부터 시작해야 한다. git을 설치했다면, 작업폴더에서 우클릭 했을 때, 팝업메뉴에 git bash를 띄울수 있는 메뉴가 다음 그림처럼 존재한다.

git bash를 띄우고, github 안내페이지에서 안내했듯 우선 git을 생성한다.
$ git init
Reinitialized existing Git repository in D:/output_files/Godot/Heart Platformer tutorial/.git/
$
github 안내를 따르면, 먼저 README.md 파일을 생성하고 있다. README.md파일은 github 페이지에 들어갔을 때, 제일먼저 보여주는 소개 페이지이다. 나중에 내용을 채우도록하고 일단 파일을 만들어 git에 추가하자.
$echo "# Heart-Platformer-tutorial" >> README.md
생성한 README.md 파일을 로컬 repository에 추가해보자.
$ git add README.md
$ git commit -m "first commit"
[master (root-commit) eceebf9] first commit
1 file changed, 1 insertion(+)
create mode 100644 README.md
$ git branch
* master
위와같이 README.md파일을 add하고 commit 해주면, 로컬 repository에 추가 되면서 git branch
로 브랜치를 확인해보면, master 브랜치가 보일 것이다.
github에서는 브랜치 이름을 main으로 사용한다. github에서 이름을 바꿔주는 방법도 있으나, 위에서 본 안내대로 로컬 프랜치 이름을 main으로 변경하자. 브랜치 이름 변경은 ‘-m’옵션으로 가능하다.
$ git branch -m main
$ git branch
* main
변경 후, git branch
명령으로 보면 main으로 바뀐 것이 보일 것이다.
이제, 작업중이던 나머지 소스코드도 추가, 커밋하자.
$ git add .
$ git commit -m "commit current working code"
[main 9aee642] commit current working code
20 files changed, 548 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .gitignore
...
참고로, godot 에디터에서 .gitattributes 파일과 .gitignore파일을 자동으로 생성해줘서 필요없는 파일들이 추가되거나, 라인피드로 문제가 되는 일은 없다.
3. github에 연결할 원격 브랜치 생성 및 push.
이제, 생성했던 github repository를 원격(remote) 브랜치(branch)로 추가해보자. 이것 역시 github안내에 나와있다.
$ git remote add origin https://github.com/batmask/Heart-Platformer-tutorial.git
$ git branch -a
* main
원격 브랜치를 추가하는 명령은, git remote add <branch 이름> <url>
형태인데, url 부분에 github 페이지에서 저장해놨던 url을 입력해준다. 이렇게 생성해도 git bracn -a
명령에 보이듯 아직 아무것도 보이지 않는다. 원격 저장소로 push해서 소스코드를 github에 올려보자.
$ git push -u origin main
-u
옵션은 --set-upstream
과 동일한 약어 옵션이다. 원격 리포지토리에 연결할 때, 한 번은 사용해줘야하는 옵션으로 두 브랜치를 포인터처럼 연결해준다. 이후에는 이 옵션 없이 사용 가능하다.
이렇게하면, github 로그인 화면이 뜬다.

“Sign in with your browser”를 클릭하면, github repository를 만드느라 브라우저가 로그인하고 열려있는 상태이므로, 자동으로 로그인이 진행된다. 필요하다면, 다른 방식을 시도해 봐도 된다.
이제, github 페이지를 확인해보자. 다음과 같이 코드가 올라가 있는 것이 보이며, 생성했던 README 파일도 보인다.


이로서 작업중인 코드를 github에 올리는 것이 완료되었다.
마무리
자꾸 까먹고 혼란스러워서 포스팅으로 정리해 버렸다. git은… 띄엄띄엄 사용하다보니, 익숙해 지지가 않네 ㅋㅋㅋㅋ