본문 바로가기

코드프레소 체험단/실무자가 알려주는 Git

[실무자가 알려주는 Git 입문] Git 기본 플로우 이해 (4)

728x90

✨ 이 글은 [ 코드프레소 Java 웹 개발 체험단 활동 ] 내용입니다 ✨

💜 코드프레소 이러닝 강의 수강 중 - 실무자가 알려주는 Git 입문 💜

😎 아래의 링크를 통해 프리미엄 IT 교육 서비스, 코드프레소를 확인해보세요 😎

 

https://www.codepresso.kr/

 

프리미엄 IT 교육 서비스 - 코드프레소

 

www.codepresso.kr


 

자! 이제 어찌저찌 의미있는 변경점들을 만들어서 커밋을 했다

그럼 만든 커밋들을 gitlab에 있는 원격 저장소에 반영해보자!


원격 저장소에 커밋 반영하기

push를 통해 GitLab에 있는 원격 저장소로 커밋을 반영한다

 

 

 

push 명령어를 통해 반영한다

$ git push [저장소별칭] [브랜치]
$ git push origin main

 

근데!!

처음 push를 하는 경우 아래와 같은 화면이 나타난다

이는 GitLab 로그인 화면으로 그냥 순서대로 GitLab 가입 시 입력한 이름(username)과 비밀번호(password)를 입력하면 된다

 

 

GitLab에 로그인을 성공하면, 아래와 같이 push를 성공적으로 하게 된다

push 성공

 

 

실제로 GtiLab의 저장소에 가도 확인 가능하다

gitlab 내 저장소

왼쪽 상단을 보면 Commits가 보이는데 저 부분을 클릭해서 모든 커밋들을 확인할 수 있다

 

 

어떻게? 이렇게!

gitlab의 commits

 


[참고] GitLab 로그인을 잘못한 경우

만약 push할 때 뜨는 입력창에 로그인을 잘못한 경우, push를 시도할 때마다 오류가 발생한다

이는 다음과 같이 해결하면 된다

 

(window 기준)

 

1) 자격 증명 관리자 실행

 

2) 등록된 gitlab 일반 자격 증명을 삭제한 후 git push 명령어를 다시 시도


Git을 통한 협업

이제 git을 통해 협업을 해볼 것이다

보통 협업을 할 때는 아래의 플로우를 따르게 된다

git 기본 플로우

 

 

 

원격/로컬 저장소 생성

git을 통한 협업 시 원격/로컬 저장소 생성하는 방법에는 2가지 방법이 존재한다

 

[ 방법 1]

  1. 로컬 저장소 폴더 생성
  2. 로컬 저장소 초기화 -> $ git init
  3. 원격 저장소와 연결 -> $ git remote add

 

[ 방법 2 ]

  1. 로컬 저장소 폴더 생성
  2. 원격 저장소 복사 -> $ git clone

 

 

 

 

실제 협업 환경에서는 저장소를 생성 및 초기화하는 과정보단, clone하여 생성한 후 협업하는 과정이 더욱 빈번하게 사용된다

 

 

 

git clone 실습

$ cd ~/gittest
$ mkdir git_project
$ cd git_project

 

실습에서는 원격저장소를 "git 오픈소스 프로젝트"로 진행할 것이다

따라서 아래의 명령어를 통해 git 오픈소스 프로젝트를 clone한다

$ git clone "https://github.com/git/git"

 

그러면 아래와 같이 로컬저장소에 프로젝트 폴더가 자동으로 생성되고, 소스코드가 다운로드된다

clone을 하면 .git 폴더까지 다운로드되기 때문에 저장소를 별도로 초기화할 필요가 없다!

git clone

 

이제 clone한 프로젝트의 모든 커밋 히스토리를 볼 수 있는데, 만약 가장 오래된 커밋 순으로 보려면 아래의 명령어를 사용하면 된다

$ git log --reverse

 

그럼 아래와 같이 커밋의 히스토리를 오래된 순으로 볼 수 있다

만약 git log를 종료하고 싶으면 Q를 누르면 된다


README.md

소프트웨어가 어떤 목적으로 개발이 되었고, 어떤 기능을 가지며 어떻게 사용할 수 있는지에 대해 사용자들에게 정보를 노출하는 역할을 하는 파일이다

 

 

Git을 통한 협업 실습

만약 push를 시도했는데 아래와 같은 오류가 나는 경우는 어떻게 해야 할까?

위와 같은 경우에는 현재 원격 저장소에 로컬 저장소에는 없는 커밋이 존재하여 reject 되었다는 것이다

이런 경우에는 push하기 전에 pull을 먼저 해주고, push를 하면 된다

 

728x90