이 영역을 누르면 첫 페이지로 이동
나눔코딩 블로그의 첫 페이지로 이동

나눔코딩

페이지 맨 위로 올라가기

나눔코딩

04. 깃 (Git) - 깃 허브 (Git Hub) 로 협업하기

  • 2020.08.22 01:43
  • 17. Git/기초
OS Windows 10 Home 64bit 버전 1903 (OS 빌드 18362.836)
Git git version 2.9.0.windows.1

 

# 개념

내가 개인 컴퓨터와 사무실 컴퓨터 일 때, 나와 팀원일 때, 원격 저장소를 이용하여 협업할 수 있다.

 

# 원격 저장소 복제하기

설명을 위해 2개의 로컬 저장소를 생성했을 뿐, 집 컴퓨터에는 git-home 저장소, 사무실 컴퓨터에는 git-office 저장소라고 생각해주세요

 

HTTPS 주소 복사하기

 

$ git clone HTTPS주소 디렉토리명 // 원격 저장소에서 해당 디렉토리에 복제 한다

원격 저장소의 commit 을 git-home 로컬 저장소에 복제한다

git-home 디렉토리가 없는 경우 자동으로 생성된다

 

원격 저장소의 commit 을 git-office 로컬 저장소에 복제한다

git-office 디렉토리가 없는 경우 자동으로 생성된다

 

git-home 로컬 저장소로 이동

 

commit 로그를 보니 정상적으로 복제가 된 것을 확인할 수 있다.

 

clone 으로 복제한 경우는 자동으로 원격 저장소와 연결을 해준다. 

 

개인 컴퓨터 (git-home) 에서 작업하고 올리기

work.txt 를 수정한다

 

git-home work 라고 내용을 추가 후 저장

 

add, commit, push

 

commits 를 눌러 commits 순으로 볼 수 있다

 

원격 저장소에 add git-home push 된 것을 볼 수있다.

 

현재 git-home 로컬 저장소에서 원격 저장소에 push 를 하여

git-office 로컬 저장소에는 git-home 이 push 한 add git-home 이 존재하지 않는다

git-office 는 작업을 하기 전에 원격 저장소에서 pull 받을 commit 들이 존재하는 지 먼저 확인해야한다

 

git-home 에서 git-office 로컬 저장소로 이동

 

$ git pull 을 이용해 git-home 에서 작업한 내용을 받는다

 

work.txt 를 확인해보니 git-home work 이라고 추가되어있다

 

git-office 에서 work.txt 수정하기

 

git-office work 입력 후 저장

 

add, commit, push
원격 저장소에 add git-office 가 추가된 것을 확인할 수 있다.

 

git-office 가 작성했던 내용을 git-home 에서도 받기 위해 다시 git-home 저장소로 이동한다

 

git pull

 

work.txt 를 봤더니 git-office 저장소에서 작성했던 내용이 추가된 것을 볼 수 있다

 

이러한 방식으로 원격 저장소를 통해서 git-home 의 로컬 저장소와 git-office 로컬 저장소가 협업할 수 있게 된다

 

원격 브랜치 정보 가져오기

원격 저장소에 있는 HEAD 는 origin/master 브랜치를 가르킬 것이고,

origin/master 브랜치는 add git-office 라는 최종 커밋을 가리킨다

(여기서 origin/master 는 원격 저장소의 master 브랜치를 의미한다)

 

로컬 저장소에 있는 HEAD 는 master 브랜치를  가르킬 것이고,

master 브랜치는 add git-office 를 가르킬 것이다.

 

git-home 로컬 저장소에서 새로운 커밋을 만들고 로그 찍어보기

여기에서는 새파일을 만드는 것이 중요하다 

work4.txt 생성

 

입력 후 저장

 

add, commit

 

로그 보기

push 를 하지 않았기 때문에 원격 저장소의 origin/master 브랜치는 'add git-office' 을 가르키고 있다

반면 로컬 저장소에서는 commit 을 했기 때문에 'create work 4' 커밋을 가르키고 최종 커밋이다

 

git status

status 를 보면 로컬 저장소의 브랜치가 원격 저장소 브랜치보다 1 commit 앞 서 있다고 말한다

그리고 push 명령을 사용하여 원격 저장소에 올리라고 말하고 있다

 

git push

 

원격 저장소에 올라간 것을 확인할 수 있다

 

push 를 함으로써 origin/master 와 origin/HEAD 가 최종 커밋을 가르키는 것을 알 수 있다

 

원격 브랜치 정보 가져오기

git-home 로컬 저장소에서 작업했던 내용은 git-office 에는 없기 때문에 git-office 에서 진행한다

 

git-office 로 이동

$ git fetch // 원격 저장소와 연결되어 있을 때 FETCH_HEAD 브랜치에 불러온다

git fetch 명령

 

로그 보기

로그를 보면 git-home 로컬 저장소에서 작업한 create work 4 최종커밋이 master 브랜치에 존재하지 않는다.

fetch 명령은 바로 합치는 것이 아닌 FETCH_HEAD 브랜치에 저장한 뒤, 확인 한 후에 합칠 때 사용한다

때문에 FETCH_HEAD 브랜치로 가면 create work 4 최종 커밋을 확인할 수 있다

 

FETCH_HEAD 브랜치로 변경

 

해석은 아래와 같다 (번역기)

'분리 된 HEAD'상태입니다. 주위를 둘러보고 실험 할 수 있습니다.
변경하고 커밋하고 여기에서 만든 커밋을 삭제할 수 있습니다.
다른 체크 아웃을 수행하여 분기에 영향을주지 않고

생성 한 커밋을 유지하기 위해 새 브랜치를 생성하려면
체크 아웃 명령과 함께 -b를 다시 사용하여이를 수행하십시오 (지금 또는 나중에). 예:

  git checkout -b <새 브랜치 이름>

HEAD는 이제 eec89c3에 있습니다 ... 작업 생성 4

 

FETCH_HEAD 에는 create work 4 최종 커밋이 존재하는 것을 확인 할 수 있다

 

fetch 로 한 경우에는 따로 merge 를 이용해서 합쳐주면 된다

master 브랜치로 이동

 

merge

 

merge 로 합쳤기 때문에 master 브랜치에서도 create work 4 최종커밋이 존재한다

 

저작자표시 (새창열림)

'17. Git > 기초' 카테고리의 다른 글

06. 깃 랩 (Gitlab) - 구글 이메일 계정 로그인 시 연동 문제  (3) 2021.05.07
05. 깃 (Git) - 깃 허브 (Git Hub) 협업의 기본 알아보기  (0) 2020.08.22
03. 깃 (Git) - 깃허브 (Git Hub) 로 백업하기  (0) 2020.08.21
02. 깃 (Git) - [기본] 브랜치  (0) 2020.08.20
01. 깃 (Git) - [기본] 버전관리  (0) 2020.08.20

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • 06. 깃 랩 (Gitlab) - 구글 이메일 계정 로그인 시 연동 문제

    06. 깃 랩 (Gitlab) - 구글 이메일 계정 로그인 시 연동 문제

    2021.05.07
  • 05. 깃 (Git) - 깃 허브 (Git Hub) 협업의 기본 알아보기

    05. 깃 (Git) - 깃 허브 (Git Hub) 협업의 기본 알아보기

    2020.08.22
  • 03. 깃 (Git) - 깃허브 (Git Hub) 로 백업하기

    03. 깃 (Git) - 깃허브 (Git Hub) 로 백업하기

    2020.08.21
  • 02. 깃 (Git) - [기본] 브랜치

    02. 깃 (Git) - [기본] 브랜치

    2020.08.20
다른 글 더 둘러보기

정보

나눔코딩 블로그의 첫 페이지로 이동

나눔코딩

  • 나눔코딩의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (316)
    • ∞. 읽은 거리 (3)
    • ∞. 기술 면접 (61)
      • 1. 자료구조 (0)
      • 2. 네트워크 (9)
      • 3. 운영체제 (11)
      • 4. 데이터베이스 (13)
      • 5. 디자인 패턴 (0)
      • 6. 알고리즘 (0)
      • 7. 자바 (15)
      • 8. 자바스크립트 (7)
      • 9. 스프링 (5)
      • 10. 시큐리티 (1)
      • 11. 기타 (0)
      • 12. Vue (0)
    • ∞. 웹개발 유용한 사이트 (14)
    • ∞. 트러블 슈팅 + TIL (7)
    • 00. 출발 (9)
    • 01. 엑셀 (9)
      • 기초 (4)
      • 컴활 1급 (4)
      • VBA (0)
    • 02. 엑세스 (9)
      • 기초 (5)
      • 컴활 1급 (4)
    • 04. Oracle (1)
      • 기초 (1)
    • 03. JAVA (8)
      • 기초 (7)
      • 객체지향 프로그래밍 (0)
    • 05. HTML (13)
      • 기초 (1)
      • css (10)
      • sass (0)
      • less (0)
    • 06. Javascript (16)
      • 기초 (13)
      • ES6 모듈 (2)
      • Canvas (0)
    • 07. JSP (0)
      • 기초 (0)
    • 08. jQuery (0)
      • 기초 (0)
    • 09. BootStrap (1)
      • 기초 (0)
      • v4 - Layout (1)
    • 10. Spring (30)
      • 기초 (3)
      • 실험 (4)
      • MVC (1)
      • BOOT (6)
      • Security (10)
      • Lib (Library) (2)
      • 벤치마킹 (0)
      • JUnit5 (2)
      • DevTools (0)
      • Socket (1)
      • Batch (0)
      • Mobile (0)
      • WebFlux (0)
      • Cloud (0)
      • Thymleaf (0)
      • Actuator (0)
      • 성능 테스트 (1)
    • 11. JetBrains (34)
      • 기초 (1)
      • IntelliJ IDEA (33)
      • WebStorm (0)
      • Pycham (0)
    • 12. API (0)
      • 기초 (0)
      • 네이버 API (0)
      • 카카오 API (0)
      • 구글 API (0)
      • 인스타그램 API (0)
    • 13. AutoHotkey (1)
    • 14. Python (8)
      • 기초 (3)
      • Selenium (2)
      • Beautiful Soup (0)
      • openpyxl (1)
      • Pyqt5 (0)
      • Deep learning (open CV) (0)
      • Geocoder (0)
      • Anaconda (0)
      • DeepLearning (0)
      • Jupyter Nootbook (0)
    • 14.5. R (0)
    • 15. JMeter (0)
      • 다운로드 (0)
    • 16. Vue JS (23)
      • 기초 (3)
      • Vue 2 (15)
      • Vue 3 (5)
      • Vuetify 2.5.8 (0)
    • 17. Git (12)
      • 기초 (8)
      • ItelliJ IDEA (4)
      • SourceTree (0)
    • 18. AWS (5)
      • 기초 (2)
      • Jira (3)
    • 19. Naver Cloud Platform (0)
    • 20. Google Cloud Platform (0)
      • 기초 (0)
      • stt & tts (0)
    • 21. Kotlin (0)
    • 22. Android (0)
      • 기초 (0)
      • Java (0)
      • Kotlin (0)
      • Flutter FrameWork (0)
    • 23. Clean Code [JAVA] (1)
    • 24. BuildTool (1)
      • Maven (1)
      • Gradle (0)
    • 25. 자료 구조와 알고리즘 (18)
      • JAVA (1)
      • Java Script (1)
      • 프로그래머스 (0)
      • 백준 알고리즘 (0)
      • 나의 알고리즘 (14)
      • Brilliant 공부 (0)
    • 26. React (1)
      • 기초 (0)
      • 강의 정리 (1)
    • 27. PostMan (0)
      • 기초 (0)
    • 28. 프로그래머스 (9)
    • 29. Leet Code (0)
    • 30. MySQL (3)
      • 기초 (2)
      • 문제 (1)
    • 73. GraphQL (0)
    • 74. Nuxt JS (0)
    • 75. Electron (0)
    • 76. UX &amp; UI Design Tool (0)
      • 기초 (0)
      • Axure (0)
      • Sketch (0)
      • Figma (0)
    • 77. MarkDown (1)
      • 기초 (1)
    • 78. Tomcat (1)
      • 메모 (1)
    • 79. Element JS (0)
    • 80. Parallax JS (0)
      • 기초 (0)
    • 81. Player JS (0)
      • 기초 (0)
    • 82. Smart Maker (0)
    • 83. Vim (0)
      • 기초 (0)
    • 84. Linux (0)
      • 기초 (0)
      • Centos 7 (0)
      • Ubuntu (0)
    • 85. Node JS (2)
      • 기초 (1)
      • WebRTC (0)
      • NVM (1)
    • 86. Propeller JS (0)
    • 87. FullPage JS (0)
      • 기초 (0)
    • 88. 아두이노 (0)
    • 89. Tensorflow (0)
    • 90. 웹 패킷 분석 (0)
    • 91. 크롬 개발자도구 (0)
    • 92. 디자인 패턴 (7)
      • 생성(Creational) (3)
      • 구조(Structral) (1)
      • 행위(Behavioral) (2)
      • SOLID 패턴 (0)
    • 95. Linux Shell Script (0)
    • 96. 구글 애널리스틱 (0)
    • 97. ffmpeg (0)
    • 98. ShareX (1)
    • 자료실 (0)
    • 기타 (2)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 엑셀 기타작업
  • 엑셀 기본작업
  • 졵
  • 엑셀 글씨
  • 엑셀 분석작업
  • 깁
  • 엑셀 가운데맞춤
  • 엑셀 표시형식

나의 외부 링크

  • 비전공자 개발자
  • 자바 디자인 패턴
  • 자바 디자인 패턴
  • 스프링 블로그
  • 해킹보안 & 웹 관련
  • ERD 생성
  • 전문 기술 블로그
  • Servlet에 대한 개념없이 스프링을 했네요?
  • 스프링 FitlerChainList
  • 알고리즘 파워 블로그

정보

THE HEYDAZE의 나눔코딩

나눔코딩

THE HEYDAZE

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © THE HEYDAZE. Designed by Fraccino.

티스토리툴바