Skip to content

Leets-Official/Github-Master

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Github-Master

  • Leets가 Github를 공부하는 레포지토리입니다.

목적

  • Github를 사용하는 이유는 너무나 명확합니다.
  • 화가가 캔버스를 소중히 여기고 작가가 노트를 소중히 여기는 것처럼 Github는 개발자의 놀이터입니다.
  • GitHub는 바로 소프트웨어 개발자를 위한 플랫폼입니다.

  • 가장 중요하게 생각하는 점은 형상관리를 위한 Github 사용입니다.
  • 코드를 관리하고 버전을 제어할 수 있는 기능은 개발자에게 있어 아주 중요하고 필요한 기능입니다.
  • 모든 커밋과 변경 사항을 문서화하는 것에 더하여 프로젝트에 대한 기록을 남길 수 있습니다.

  • 단순히 취업 포트폴리오를 위해 사용되는 Github를 넘어 Github과 친해지는 것이 이 레포지토리의 목적입니다.
  • 더 나아가 오픈소스 기여, CI/CD, 코드리뷰까지 확장되는 성장을 위해 학습합니다.
  • 동료와의 협업을 증진하고 더 나은 코드를 위해 고민하며(코드 리뷰) 더 넓은 소프트웨어 생태계에 기여(컨트리뷰터)하는 것을 목표합니다.

대상

  • Github를 사용하기 어려운 사람
  • 협업에서 Github를 사용하고 싶은 사람

주제

  • 필수 명령어 학습
  • 이슈, PR, 브랜치에 대한 이해

방법

  1. 이슈를 생성합니다.
  2. 해당 이슈 이름 + 생성된 이슈 번호의 브랜치를 생성합니다.
  3. 해당 브랜치에서 작업합니다.
  4. 변경사항을 add, commit, push합니다.
  5. PR을 작성합니다.
  6. merge 합니다.

규칙

  • PR을 생성한 이후 2명 이상의 Approve를 승인 받은 후에 merge합니다.
  • 컨플릭트가 나는 경우 스스로 해결합니다.
  • 레포지토리 이름은 이름.원하는 확장자입니다.
  • 이슈를 생성하는 경우 [이름] Git 공부 주제와 같이 제목을 작성합니다.
  • PR을 작성하는 경우 이슈와 동일한 제목을 사용합니다.

이슈 템플릿

## 1. 무엇을?

<br>

## 2. 상세 설명

<br>

## 3. 추가 사항

<br>

PR 템플릿

## 1. 무슨 이유로 코드를 변경했나요?

<br>

## 2. 관련 스크린샷을 첨부해주세요.

<br>

## 3. 완료 사항

<br>

## 4. 추가 사항

<br>

커밋 컨벤션


학습 자료

펼쳐 보기

Leets Git 명령어 정리

준비물

  • IDE (BE: IntelliJ, FE : VSCode)
  • Github 계정
  • Access Token 생성 (Mac만 해당)
    1. Github 설정 맨 아래 Developer settings 선택
    2. Personal access tokensTokens(classic) 클릭
    3. Generate new token(classic) 클릭
    4. 이름 적기 + 7days 선택
    5. 발급
    6. 생성되는 token 카카오톡에 복사

Untitled

Untitled 1

Untitled 2


레포지토리 만들기

  • 새로운 레포지토리 만들기

Untitled 3

Untitled 4

디렉터리란?

  • 폴더를 의미한다.
  • 아래의 root , media

Untitled 5


💡 아래부터는 IDE의 터미널에서 설정


디렉터리 생성

  • 깃 저장소를 만들 디렉터리(로컬)를 생성한다.
mkdir practice

해당 디렉터리로 이동하기

  • practice 디렉터리로 이동
cd practice

Git 초기화

  • Git을 사용할 수 있도록 디렉터리 초기화
  • 폴더(로컬)와 Git 연결
git init

config 설정 (초기 설정)

git config --global user.name 이름
git config --global user.email 이메일

깃 상태 확인하기

  • 변경, 스테이징 상태를 확인할 수 있다.
git status

스테이징이란?(Staging)

  • Git에게 버전을 만들 준비를 하라고 알려주는 과정이다.

Untitled 6


  • 로컬에서 변경/추가/제거된 파일이나 코드 ⇒ 원격 저장소로 업데이트할 준비(Staging)
  • 여러 파일을 스테이징하고 싶다면 파일명 나열 ex) git add test_git1 test_git2 ...
  • 모든 파일을 스테이징하고 싶다면 . 옵션을 추가한다.
git add practice.js practice.java
git add .

  • 모든 파일 스테이징 취소
git reset HEAD

  • 일부 파일 스테이징 취소 (아래의 경우 README.md)
git reset HEAD practice.js practice.java

커밋하기(Commit)

  • 스테이징 파일을 원격 저장소로 업데이트
git commit -m "깃헙 연습"

커밋 기록 확인하기

  • 커밋 기록을 자세하게 확인 가능
  • 커밋 ID를 활용하여 구분하며 커밋 메시지 또한 확인할 수 있다.
git log

  • 간단하게 확인하고 싶은 경우 아래 명령어 사용
git log --oneline

원격 저장소(Github)에 연결하기

  • 로컬 저장소와 원격 저장소를 연결한다.
  • Github에서 HTTPS 주소를 복사해서 명령어 뒤에 붙여넣는다.
Untitled 7
git remote add origin {원격 저장소 HTTPS URL}

원격 저장소와의 연결 상태 확인하기

  • 제대로 연결되었다면 원격 저장소의 HTTPS 주소가 출력된다.
git remote -v

원격 저장소에 파일 올리기 (동기화, Synchronize)

  • 로컬 저장소의 커밋 ⇒ 원격 저장소로 올린다. (push)
  • SSH 키를 생성하여 원격 접속하지 않았다면 Github 로그인 창이 생긴다.
git push -u origin {브랜치명}

  • 레포지토리를 처음 생성한 이후 push 하면 IDE는 아래 명령어를 권장한다.
git push --set-upstream origin {브랜치명}

  • 이후엔 git push 만 사용하여 push 를 진행할 수 있다.

브랜치란?

  • 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능
  • 형상 관리와 안정성을 유지하며 개발하는 Github의 꽃
  • main , hotfix develop , feature 은 각 브랜치의 이름

Untitled 8


브랜치 명령어

  • 브랜치 생성하기
git branch {생성할 브랜치 이름} {기준 브랜치}
git branch newBranch master/main

  • master 브랜치를 기준으로 feat/#10/new-feature 브랜치 생성 (새로운 분기점 생성)
git branch feat/#10/new-feature master

  • 다른 브랜치로 이동하기
git checkout {이동할 브랜치 이름}

  • 브랜치를 생성하며 이동하기
git checkout -b {브랜치 이름} {기준 브랜치}

  • 원격 브랜치 동기화
    • 원격의 브랜치와 로컬의 브랜치 동기화 (원격 브랜치 다운받기)
    • -p 옵션은 prune 을 의미
    • fetch ⇒ 원격에서 이미 삭제된 브랜치는 목록에서 사라짐
git fetch -p

git fetch

git pull origin master/main

Issue

  • 프로젝트를 진행하면서 발생하는 다양한 이벤트
  • 새로운 기능을 추가하거나, 발생한 버그를 수정할 때 사용
  • 쉽게 설명하자면 프로젝트의 Todo 리스트

Untitled 9


예시


Pull & Request

  • 코드를 수정했어.
  • 어때? 잘 작성한 것 같아?
  • 반영해줘
  • 코드 변경 이유에 대해 설명 + (코드리뷰)
    • 이후 브랜치에 merge 가능

Untitled 10


원격 저장소에서 파일 내려받기

  • origin(원격 저장소)의 내용을 브랜치로 가져온다.
  • origin{브랜치명} 브랜치에 있는 파일들을 현재 브랜치로 병합한다. (merge)
git pull origin {브랜치명}

  • 쉽게 말하자면 원격 저장소의 브랜치의 파일을 현재 브랜치와 합치는 과정이다.

Untitled 11


git log 옵션

  • 모든 브랜치 커밋 로그 보기
git log --all

  • 커밋과 브랜치 관계를 그래프 형식으로 보기
git log --graph

  • 커밋 로그를 간단하게 한 줄로 보기
git log --oneline

이외 명령어들

  • 커밋 되돌리기
    • 로컬 브랜치의 파일을 해당 커밋 전으로 되돌리고 싶은 경우 사용한다. (버전 관리의 이유)
    • hard/mixed/soft 옵션
git reset --hard {commit id}
git reset --mixed {commit id}
git reset --soft {commit id}

  • 원격 저장소의 마지막 커밋 상태로 되돌리는 명령어
git reset --hard HEAD

  • 커밋 간의 파일 변경점 확인하기 (Commit ID는 앞 4자리만 입력해도 됨)
git diff {commit1_id} {commit2_id}

노션 링크
Made by 김성민(Collection50)

About

Leets가 Github를 사용하는 방법

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published