A ship in harbor is safe, but that is not what ships are built for.

개발일지/AI 캠프

내일배움캠프 AI - 9일차 TIL, 2022.09.08

플리피나리 2022. 9. 13. 09:04
반응형

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차

2022.09.08. 9일차 - TIL

 

 

1. 협업을 위한 Git 활용 기초

  • 필수 프로그램 설치
    - Github 가입하기
    - Git 설치하기
    - Sourcetree 설치하기(preferences에 github username과 github email address 입력)
    - Sourcetree 설정하기 : Githun에서 받은 token을 sourcetree 인증에서 입력해 Github 계정 연동
  • Git : 프로젝트의 버전 관리를 위한 도구
    - 히스토리를 통한 버전 관리
    - 작업 단위 나누기 : 히스토리를 통해 에러 발생 부분 파악
    - 협업 용이 : 나누어 작업하고 하나로 합치기 용이
  • Github : Git 원격 저장소 + Git 으로 가능한 커뮤니티 기능 -> Gitlab, bitbucket 도 같은 서비스
  • Sourcetree : Git을 쉽게 사용할 수 있는 도구
  • Commit : git에서 '현재 프로젝트의 상태'를 저장하고 조회하는 기능 -> 스냅샷처럼 현재 프로젝트의 전체 상태를 포착
  • 버전 관리 : 누가, 언제, 현재 프로젝트의 내용이 어떤지 정보를 남기는 것
  • Git 관리 폴더 설정하기 => git 초기화
    - source를 키고 Create
    - 탐색을 눌러 git 폴더를 만들 폴더 선택
    - 생성 버튼 클릭(.git 폴더 생성 확인)
  • Git 관리 폴더 삭제하기
    - + 버튼을 눌러 New Tab 열기
    - 삭제하려는 저장소 선택 후 우클릭 후 삭제 선택
    - 북마크 제거(sourcetree에서만) or 디스크에 있는 저장소 삭제(컴퓨터에서까지 삭제) 중 선택
  • Commit 하기
    - sourcetree에서 변경 내역의 파일의 + 버튼 클릭
    - 작업한 내역이 무엇인지 메시지를 적고 커밋 클릭
  • Commit 정보
    - commit id : commit을 구분하기 위한 유일한 값
    - 작업 일자
    - 작업한 사람
    - 작업 내역(commit 메시지)
    - 작업 내역 순서
  • 개념정리01
    Q. 버전관리를 한다는 것은 어떤 의미인가?
    A. 누가, 언제, 현재 프로젝트의 내용이 되도록 했는지 정보를 남기는 것
    -> 프로젝트 상태가 변경되는 정보를 알고 있다는 것
    Q. 작업내역 단위인 commit에는 어떤 정보가 포함되어 있어야 잘 버전 관리를 하는가?
    A. 작업자, 작업날짜, 작업내역(+commit id)
    Q. 지금까지 실습의 순서는?
    A. git 초기화 -> commit
    -> git 초기화 > add(staging) > commit
    * add(staging) : commit에 반영할 파일을 선택하는 것
  • repo(repository) : Git으로 관리되는 프로젝트
    - 로컬 repo : 내 컴퓨터에 저장되어 있는 레퍼지토리
    - 원격 repo : 다른 곳에서 접속할 수 있는 공간에 저장되어 있는 레퍼지토리 -> Github
    - 추적(tracking, branch tracking) : 로컬 repo가 원격 repo를 연결하는 것
  • Push : 로컬 repo의 commit들을 원격 repo에 반영하는 것
  • Pull : 원격 repo의 commit들을 로컬 repo에 반영하는 것 
  • Clone : 원격 repo를 내 컴퓨터에서도 사용할 수 있도록 가져오는 것
  • 원격 repo 사용하기
    1) tracking - 로컬 repo와 원격 repo 연결
      - github에서 repo 만들어 주소를 복사
      - sourcetree의 내 repo에서 설정 버튼 > 원격 > 추가
      - 원격이름(origin), url 경로 입력 후 확인
      - 브런치 이름 변경으로 main으로 변경
    2) push : sourcetree에서 push 버튼 > 체크박스 선택 후 push
    3) pull : sourcetree에서 pull 버튼 > 기본 옵션 후 pull
  • 원격 repo 삭제 : settings > options > delete this resository 클릭
  • 일반적으로 pull > 로컬 repo commit > push
  • clone : clone할 repo 링크 복사 후 sourcetree에서 + 버튼 new tab에서 clone 선택 -> 복사한 url 붙여넣어 생성
  • 개념정리02
    Q. 원격 repo와 로컬 repo를 연결해서 내용을 반영하고 싶을 때 사용하는 방법은?
    A. 로컬 repo가 없고 원격 repo에 있는 내용을 가져오고 싶을 때는 clone, 원격 repo와 로컬 repo 둘다 있고 두 개를 연결하고 싶을 때는 로컬 repo가 원격 repo를 tracking
    Q. 원격 repo와 로컬 repo는 왜 따로 있을까?
    A. 협업할 때 하나의 프로젝트를 동시에 작업 가능
    Q. push와 pull 의 개념을 원격 repo와 로컬 repo를 포함해 그림으로 그려보면?
    A. 로컬에서 원격으로 commit을 올릴 때 push, 원격에서 로컬로 commit을 받을 때 pull

 

  • Issue : 프로젝트에서 해결해야 하는 문제 -> 누가 해당 작업을 할 것인지 정하기
  • Branch : 각자 맡은 것을 작업
    - 히스토리탭 > 마지막 commit에서 우클릭 > 브런치 > 새 브랜치 이름 명시 > 브랜치 생성
    - 체크아웃 : 현재 작업하는 브랜치를 선택하는 것
  • Merge : 각자 작업을 프로젝트에 합치기 -> 브랜치의 작업 내역 commit들을 다른 브랜치반영
    - commit을 반영시킬 브랜치로 체크아웃
    - 병합 클릭 > 원하는 브랜치의 가장 최신 commit을 선택해 확인
    - merge한 브랜치는 삭제
반응형