학습요약8>18강 Git 1

개프꼬·2023년 2월 9일
0

※블로그 내용은 저 '개인'의 기준으로 더 필요하다고 생각되는, 또는 한번 더 짚어보는 의미로 직접 필기한 것입니다. 수희 혼자 볼라고 쓴 블로그


★깃. 시작하기

1. git이란?
형상관리 도구. 버젼 관리 시스템.
git은 프로젝트 소스코드 효과적으로 관리 가능.
여러명이 동시에 작업해도 문제 없다.
소프트웨어 여러버전을 동시 관리 가능.
프로젝트 진행 모든 로그를 볼수 있으며 해당 시점으로 되돌리기도 가능.

2. 사용하는 이유?
프로젝트의 기능 빼고 더하고 되돌리고 서로다른 기능의 버전을 유지.

  • 코드관리 측면:변경된 이력확인,이전 이력 되돌리기, 다른기능버전 코드 유지, 현재최종이 어느 시점인지 표현가능.
  • 협업의 측면: 각 기능별로 분업 후 하나의 코드로 합칠수있음.
    같은 부분을 수정해 문제가 생기는 경우 협업으로 인한 실수 예방.
    팀원간의 커뮤니케이션 지원

3. 깃 기반의 서비스란?
깃허브 / 비트버켓 / 깃Lab
프로젝트 소스코드 클라우드 호스팅+특색에 맞는 기능 제공!

  • 비트버켓:인터그레이션 개발 협업위한 소프트웨어. 이슈 올려놓기.연결 잘됨.atlassian연계
  • 깃랩: 설치형 깃.보안이 되있다. 남들이 못보게 되있음.용량 비용절감.소스코드 보안 좋음
  • 깃허브:깃랩이랑 비슷한데, 오픈형
    깃과 깃허브를 같이 공부.서로 다름.깃은 로컬에 설치. 깃허브 깃랩은 온라인 서비스

★깃 설치

: 깃 bash는 터미널 같은 창이다.

★준비하기

  1. 깃허브 가입! 깃허브란? 깃 저장소 호스팅을 지원하는 웹서비스
  2. sourceTree 설치!소스트리란? 깃을 더 쉽게 활용하기 위한 gui툴.
    비트버켓과 같은 회사에서 나온거.

★셋업하기

1. 사용자 설정 및 세팅(이론): 깃 사용자 설정.
로컬에서 사용할 깃 사용자 이메일과 이름 설정.
git config: git에 관한 설정을 추가/변경/삭제하는 명령어
설정파일- system 설정파일 / global 설정 파일 / 로컬 설정 파일
system 설정파일: 모든 시스템 사용자에게 적용(명령어는 git config --system).
사용자 구분x

global 설정파일: 한 사용자의 전치 git repository에 적용(명령어는 git config --global).
계정료 받.사용자 구분 있음
Local 설정 파일: 하나의 Repository에만 적용(명령어는 git config --local).
하나의 프로젝트에만 적용



2. 사용자 설정 및 세팅(실습): ssh key 등록하기

global git 사용자 설정> cmd 창을 열고
git config --global user.email "suhee52455@gmail.com" 엔터
git config --global user.name "Su-Hui" 엔터
설정확인> git config --list 엔터 (내 이름과 이메일 등록된거 확인 가능)

github 계정에 ssh key 등록하기=ssh key 만들기 https://bit.ly/368zxvR
github 접속 후 오른ㅉ고 상단 프로필 클릭 setting -> ssh and GPg Keys
New SSH Key 클릭해 Title과 복사한 Key 입력후 Add SSH Key 클릭
※2분 14초에서 막히는데 cmd창 말고 git bash창 키고 했어야지!
오타 확인 잘하고 ssh key 등록하기 성공!^^

https://library.gabia.com/contents/infrahosting/9002/
★ssh 키 파일 놓는 과정 참고

3. 깃 초기화 및 삭제(이론):

  • 깃초기화 명령어: git init
    초기화 할 대상 폴더에서 명령어 입력! git초기화 시 폴더 안에 숨김 폴더로
    .git폴더 생성(Local Config 등으로 구성)~ (.git 폴더 삭제하면 관련된거 다 삭제되는거)

  • 깃 삭제_ 단순히 .git 폴더를 삭제

4. 깃 초기화 및 삭제(실습): 내꺼 삭제될까봐 영상만 봤음.

5. gitignore란(이론):
사용자가 ★git에 등록(커밋)되지 않길 원하는 파일 또는 폴더들의 목록을 저장★
.gitignore에 등록된 파일(폴더)들은 커밋 시 자동으로 제외됨

★.gitignore 파일안에 git에 제외할 폴더나 파일 등록하는 작성방법>
#은 주석의 역할
폴더: / 폴더명
파일: 파일명.확장자 (ex : /docs)
폴더 안 파일 : /폴더명/파일명.확장자 (ex :test.txt)
폴더 안 특정 확장자 파일 전부 (ex : /docs/.text)
폴더 하위 모든 특정 확장자 파일 전부 (ex : /docs/**/
.txt)

.gitignore 작성에 유용한 사이트: https://gitignore.io
개발하는게 무엇인지에 따라서 ,, 개발환경 같은거 검색,,
react 나 node 같은거 검색. .gitignore에 등록하면 좋은 내용들이 나옴.
결과물 복붙 gitignore파일 만들면 됨

6. gitignore란(실습): git실습 폴더 생성_
vs코드 키고 .gitignore 파일명으로 생성.
작성방법 대로 폴더나 파일 등 쓰면 그 파일이 회색으로 변함. ex)폴더명/*.확장자 그확장자만!


★깃 기본 컨셉

1.기본 동작원리:

  • working Directory: 작업하는 파일이 있는 디렉토리
  • staging Area: git에 등록할 (커밋) 파일들이 올라가는 영역
  • Local Repository: 로컬 git 프로젝트의 메타데이터와 데이터 정보가 저장되는 영역
    즉, 온라인상 공간 만들고 변경사항이나 설정,이력 등 관리 가능.온라인상 존재하는 공간
  • Remote Repository: github 등의 서비스를 통한 온라인 상의 저장소.원격 저장소라고 함.

기본 동작 원리> 경로 파악 ★★중요~ 사진 파일 참조. 블로그?
워킹 디렉토리에서 깃add해야 스테이징 에리어로 넘어갈수 있고
스테이징 에리어에서 깃 커밋을 해야 로컬 레포지토리로 넘어갈 수 있다.
로컬 레포지토리에서 깃 푸시를 해야 리모트 레포지토리로 넘어 갈 수 있다.
※워킹 디렉토리에서 레포지토리로 한번에 넘어가기란 불가능 하다.
리모트 레포지토리리에서 깃 fetch하면 로컬 레포지토리로 간다,
로컬 레포지토리에서 git merge하면 워킹 디렉토리로 간다,

깃에 등록 바로 하기 싫을때는 스테이징 에리어에만 올려도 됨. 이건 pc안에서만 일어나는 일.
레포지토리에는 온라인.


2.기본 용어:

  • origin: 원격(github 등의 온라인 저장소)에 있는 코드
  • head: 내가 지금 작업하고 잇는 로컬 브랜치
  • add: 워킹 디렉토리에서 스테이징 에리어로 등록하다
  • commit: 스테이징 에리어에 등록된 파일을 Local Storage로 등록
  • commit message: commit시 함께 작성해 저장하는 메시지(메모)
  • push: Local Storage에서 변경된 파일 들을 리모트 레포지토리로 등록
  • fetch: 리모트 레포지토리의 변경된 파일들을 로컬 레포지토리로 전달
  • merge: 로컬 레포지토리의 변경사항을 워킹 디렉토리로 전달
  • Branch: 독립적으로 어떤 작업을 따로 진행하기 위한 가지(분업 가지치기)
  • checkout: 사용할 다른 브랜치를 지정
profile
개발자_프론트엔드_꼬리에 꼬리를 무는 호기심

0개의 댓글