한이음 Elice Git 오프라인 교육 이수



2019년 6월 28일, 강남구 테헤란로에 위치한 S/W 마에스트로 연수센터 강의실에서 Git 오프라인 교육을 들었다.

평소에도 Github를 사용하기는 했지만 Local/Remote Repository Push, Pull, Branch, Merge 등 Git Bash로부터 동작하는 세부적인 부분에 대해서는 자세히 모르고 사용했었다.

단순히 코드 백업용으로 이용했었는데 나중에 회사에서 협업을 하게 될 때 Git을 많이 사용한다는 소리를 듣고 이번에 한이음에서 무료로 지원해주는 Git 오프라인 교육을 신청했다.





오프라인 교육 참여 조건은 4개의 온라인 강의 수강을 선이수 하는 것이었고, 실제 오프라인 교육에서 온라인 강의와 동일한 내용으로 교육이 진행되었다.

다만, 온라인 강의와 달리 다양한 질문들을 받아주는 시간을 가지기도 했고 여러 실습을 통해 에러가 발생했을 때 어떻게 대처해야 하는지 등 다양한 부분들을 학습할 수 있었던 것 같아서 좋았다.





오픈소스

  • 무료로 공개되는 응용 소스코드
  • 개인 또는 기업이 공개하는 소스코드로 변경이 용이
  • 해당 소스코드를 이용하여 빠른 버전 개발이 가능
  • 오픈소스를 이용해 개발하고, 업데이트한 소스코드를 새로운 오픈소스로 환원 가능

Git

  • 파일, 데이터베이스의 변경사항 발생시 충돌 방지
  • 많은 자료를 효율적으로 관리
  • 등록한 파일이 히스토리화 되어 원하는 버전을 언제든 불러올 수 있음
  • 오프라인을 통해서도 개발 가능

Git 가지치기

  • 마스터의 파일을 남겨두고 가지를 쳐서 각자 작업한 후 나중에 하나로 병합
  • 각 브랜치들은 서로간 영향을 미치지 않음



Git 준비 영역


Working Directory (작업 디렉토리)

  • 윈도우 내에서 사용하는 일반적인 폴더

Staging Area (준비 영역)

  • git add로 특정 파일을 관리할 것이라고 확인시켜줌

Repository (최종 업로드 영역)

  • git commit을 통해 목록에 저장된 파일을 히스토리화 시킴



Git 이용방법 및 명령어


Local Repository 내에서 처리하는 과정


[Git Bash 실행 - 윈도우 OS 기준]

  • 동기화하고자 하는 폴더 빈 화면에 오른쪽 버튼 - Git Bash Here 클릭
    • 또는 직접 Git Bash 실행 후 cd 폴더명 명령어로 이동

[Git 버전 확인 및 로컬 저장소 마스터 설정]

  • git-version: Git 버전 확인
  • git init: 현재 위치해있는 폴더를 Local Repository Master로 설정
  • git clone 연결할 주소: Remote Repository 내의 폴더를 로컬로 그대로 복사
    • cmd 창에 clone 폴더 주소 복붙시 Ctrl+V 대신 오른쪽 마우스 키로 붙여넣기 실행

[Git 사용자 정보 변경]

  • git config --list: 사용자 정보 확인
  • git config user.name "사용자명": 사용자 정보 (이름) 변경
  • git config user.email 이메일: 사용자 정보 (이메일) 변경
  • ls -al: 현재 위치해 있는 폴더 내 모든 파일 및 폴더 정보 출력

[Git 현재 폴더 내 커밋 진행사항 확인]

  • git status: Staging 되거나 되지 않은 파일 확인
  • git add 파일명: 파일을 Staging 영역에 올림
  • git commit -m "메시지": Staging 영역의 파일을 메시지와 함께 히스토리화 시킴
  • git log: 히스토리화 된 Git 과정을 보여줌



Remote Repository에 업로드하기 위해 진행하는 과정


[Git 원격 저장소 연결 및 데이터 업로드]

  • git remote add origin 연결할 주소: 원격 저장소와 로컬 저장소 연결
  • git push: 로컬 저장소에서 Commit 된 모든 파일을 업로드
    • 맨 처음 Push 할 때 오류가 나는 경우는 두 저장소 간 Master가 서로 다른 경우 (이 경우 상호 동기화를 시켜주어야 함)
  • git push --set-upstream origin master: 계정 엑세스 및 Master 간 상호 동기화

[Git Branch 작업 (가지치기)]

  • git branch 이름: Branch를 생성
  • git checkout 이름: Master로 표시되는 현재 위치를 해당 Branch로 이동
    • Commit 이후 마스터와 브랜치는 서로 분류됨
  • git log --graph --all: 모든 Branch의 로그 확인
    • 마스터에서 브랜치로 위치를 이동한 경우 해당 저장소에 저장된 파일만 보임
    • 브랜치에서 마스터로 위치를 이동한 경우 기본 git log 명령어로는 마스터 기록만 보임
  • git merge 이름: 선택한 Branch를 현재 위치한 Branch와 병합
  • git branch -d 이름: Branch를 제거



참고 사이트


한이음 Elice Git 오프라인 교육 이수

https://y8ncastle.world/2019/07/02/education/hanium-elice-git/

Author

Alec J

Posted on

2019-07-02

Updated on

2021-02-09

Licensed under