[git & github] github랑 친해지기

2025. 10. 7. 17:17·git & github
반응형

우리가 로컬 저장소에서만 작업을 하고 있다가

갑자기 컴퓨터가 고장나거나 랜섬웨어같은 바이러스에 걸린다면

데이터가 날아가게 될 수 있다

그런 상황을 방지하려면 온라인 저장소에 따로 저장을 해두면 된다

github는 그런 온라인 repository를 생성하고 관리하는 서비스이다.

 

git push

git push는 로컬저장소 -> 원격저장소로 보내주는 명령어이다

commit된 파일들을 보내준다

git branch -M main
git push -u 원격저장소주소 main

이렇게 하면 main 브랜치를 원격저장소로 올리게 된다

참고로 github는 기본 브랜치를 master가 아닌 main을 강요하기때문에

git branch -M main을 해주고 시작해야한다

 

추가로 원격저장소 주소는 https로 시작해서 .git으로 끝나는 주소를 말하며

주소를 변수로 설정할 수도 있다

 

git remote add 변수명 원격저장소주소

이렇게 해주면 git push -u 변수명 이렇게만 해줘도 push된다

변수로 설정한 목록을 보고싶다면 git remote -v로 볼 수 있다

 

사실 -u라는 옵션이 원격저장소주소를 기억하라는 옵션이다

그래서 -u 옵션과함께 한 번 원격저장소주소를 제대로 입력했다면

그 후부터는 "git push main" 만 해줘도 된다

 

git clone

만약 원격저장소에 있는 파일을 로컬로 옮겨서 작업하고 싶다면

git clone 원격저장소주소

이렇게 해주면 원격저장소에 있던 내용을 그대로 복제해준다

특정브랜치만 clone해줄수도 있다

 

- git clone <URL> // 모든 브랜치 다운로드
- git clone --single-branch <URL> // 기본 브랜치만 다운로드
- git clone --branch <브랜치명> <URL>  // 특정 브랜치로 switch됨, 하지만 모든 브랜치 정보 다운로드
- git clone --branch <브랜치명> --single-branch <URL>  // 특정 브랜치만 다운로드

 

참고로 git clone은 github repo에서 collaborators 메뉴에 등록되어 있는 아이디만 가능하다

 

git pull

만약 내가 공동 작업자이고 git clone을 해서 내 작업을 한 후 push를 하려했는데

clone한 이후 원격저장소에 타인에 의해 새로운 내용이 생겨났다면 오류가 날 것이다

 

git pull 원격저장소주소

그럴때 git pull을 해주면 원격저장소에 있던 내용을 가져와 로컬에 merge 하게된다

물론 이 때도 conflict가 발생할 수 있다(수동으로 직접 해결)

 

pull request

로컬에서 merge하고 push 해도 되지만

우리가 협업을 하고 있는 경우 merge하기 전 검토를 받으면 좋을 것이다

github에서는 pull request라는 기능으로 merge를 요청, 검토받을 수 있다

 

 

github repo에서 pull request를 누르고 New pull request를 누르면

위 사진과 같은 화면이 될 것이다

그럼 merge할 브랜치와 기준 브랜치를 설정한 후 

create pull request 누르면  코드 리뷰를 할 수 있고 conflict를 해결할 수도 있다

그 후 merge를 해주면 된다

 

merge를 할 때 3-way merge, rebase merge, squash merge 3가지 방법 모두 가능하다

 

github에서 pull request라는 기능에 대해 완전히 알진 못했는데
이번 기회를 통해 공부할 수 있어서 의미있었다
처음부터 다시 공부해보니
흩어져있던 개념들이 연결되는 느낌이 들어서
다행이라고 생각했다
이 글은 강의 내용을 통해 공부한 내용을 정리한 것입니다

 

 

반응형

'git & github' 카테고리의 다른 글

[git & github] git이랑 친해지기 ④ (git flow, Trunk-based 전략)  (0) 2025.10.08
[git & github] git이랑 친해지기 ③ (git restore, git revert, git reset)  (0) 2025.10.06
[git & github] git이랑 친해지기 ② (git branch, git merge)  (0) 2025.10.05
[git & github] git이랑 친해지기 ① (git add, git commit, git diff)  (0) 2025.10.04
'git & github' 카테고리의 다른 글
  • [git & github] git이랑 친해지기 ④ (git flow, Trunk-based 전략)
  • [git & github] git이랑 친해지기 ③ (git restore, git revert, git reset)
  • [git & github] git이랑 친해지기 ② (git branch, git merge)
  • [git & github] git이랑 친해지기 ① (git add, git commit, git diff)
20puddle
20puddle
20puddle 님의 블로그 입니다.
  • 20puddle
    20puddle 님의 블로그
    20puddle
  • 전체
    오늘
    어제
    • 분류 전체보기 (100)
      • Spring boot (5)
      • git & github (5)
      • algorithm (47)
        • theory (3)
        • 배열 (7)
        • 연결 리스트 (3)
        • 스택 (5)
        • 큐 (3)
        • 덱 (2)
        • 기초 코드 (19)
        • BFS (5)
      • AI (43)
        • Machine Learning (35)
        • Deep Learning (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    git
    머신러닝
    Aimers
    github
    연결리스트
    게시판
    list
    ML
    오프라인 학습
    알고리즘
    백준
    DL
    AI
    그레디언트 클리핑
    홀드아웃 검증
    Spring Boot
    인공지능
    딥러닝
    Java
    주성분변환
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
20puddle
[git & github] github랑 친해지기
상단으로

티스토리툴바