How to use Git?

CDD·2023년 3월 14일
0

git

목록 보기
1/1
post-thumbnail

Let's Use Git !!

이전에 만들었던 프로젝트의 소스를 깃에 업로드 했던 적이 몇 번 있다. 사실 몇 번 사용해 본 적이 있음에도 협업에는 단 한 번도 사용해보지 않아 이번 기회를 통해 관련 명령어들을 정리하며 방법을 정리해 볼 생각이다. 그리고 남이 'Git 어떻게 써요?'라고 물어볼 때마다 이 링크를 전해줄 예정이다.

Create Repository

상단의 New 버튼을 누르면 레포지토리를 생성할 수 있다. 여러가지 설정 창들이 뜨겠지만 README 옵션 정도만 체크해주고 넘어가면 될 것 같다. 해당 옵션이 활성화 되면 README.md 파일이 만들어지는데, 마크다운 문법을 통해 해당 레포지토리를 설명하는 글을 포스트 형식으로 작성할 수 있다. 지금 작성하고 있는 이 velog post도 마크다운 문법으로 작성되었다.

git clone(your site)

레포지토리를 만들었으면 다음과 같은 창이 뜨게 된다. 이 레포지토리에 있는 데이터들을 깔끔하게 가져오고 싶다면 git clone을 쓰면 되는데, 맥이라면 터미널을 쓰고 윈도우라면 파워쉘을 사용하는 것이 명령어 환경에 친숙해지는 데에 도움이 된다. 앞으로의 설명도 console에서의 명령어들로 구성되니 정말 아무것도 모르는 상태라면 git부터 설치해야 한다. 윈도우는 알아서 하고, 맥은 brew에서 brew install git 명령어를 사용해서 깃을 설치하면 된다. 그 이후로 git clone { 본인 레포지토리 링크 ... } 형식으로 사용하여 주면 된다.

다음과 같이 제대로 레포지토리를 clone 해온 모습을 볼 수 있다. ls 명령어를 통해 README.md 파일을 확인했다.

How to Upload?

clone 이후 commit

사실 저런 식으로 가져오게 된다면 그냥 다음과 같은 형식으로도 업로드 할 수 있다.!

touch test.py
git add .
git commit -m 'commit message'
git push

하지만 이 글을 쓴 이유 자체가 협업을 위함이기에 branch를 만들어 로컬에서 mergepush를 써볼 생각이다.

branch를 활용한 commit

git branch test-branch && git checkout test-branch // test-branch를 만들고 main branch에서 test-branch로 이동
git add . // 수정된 파일들을 올려놓는 상태
git commit -m 'Initial commit' // 해당 브랜치에 커밋
git checkout main // 다시 main으로 이동
git merge test-branch // main 브랜치에 test-branch를 병합
git push // 최종적인 업로드

문제 없이 업로드 된 것을 볼 수 있다. 작은 기능 단위로 branch를 자주 쪼개주면서 기능 개발이 완료되면 merge 시키는 방식이 안정성에서도, 가시성에서도 우수하다고 한다.

다음은 다른 방식으로 파일을 가져온 경우인데 git remote add origin 방식을 사용한다. 현재 git에 업로드 된 레포지토리는 원격 저장소로써의 역할을 하고 거기에 remote add origin을 통해 origin이라는 이름을 붙여주는 느낌이다. 이 방법을 따르면 push 이후 가끔 다음과 같은 오류를 볼 수 있다.

fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master

To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.

이럴 땐 겁 먹지 말고 그냥 git push --set-upstream origin master를 복붙 해주면 되고, 이후 push 명령의 결과값은 다음과 같다.

Pull Request

아까와의 차이라고 하면 git 내에서 pull request를 받아야 한다는 것이다.

다음과 같이 Compare & pull request가 뜨게 되는데 파일을 merge 할지 확인하는 request 느낌이다.

이것은 레포지토리의 해당 권한을 가진 사람이 볼 수 있는 창인데 코드 리뷰 및 설명 등을 적고 Create pull request를 누르면 pull request가 생성되며 main branch와의 병합 여부를 결정할 수 있는 창이 나온다.

merge 이후 성공적으로 index.html 파일이 저장소에 저장된 모습을 볼 수 있다.

0개의 댓글