Git Hi_1 (9/8)

권숙현·2023년 9월 8일

Javascript's Adventure

목록 보기
5/10

Git의 특징

  • Git은 오픈소스이다
  • 여러 사람이 서로 다른 컴퓨터를 사용하며 협업할 수 있게 한다.
  • 작업한 내용을 커밋으로 만들어 저장한다.

저장소에 파일 추가하기

내 저장소에 Test.py라는 파일을 새로 만들었다. 이 파일을 커밋하려면?

1) git add test.py
2) git commit
3) 커밋 메시지를 입력하고 저장한다.

브랜치를 다루는 법

  • 새로운 브랜치를 만들려면 'git branch <브랜치명>' 을 사용한다.
  • 'git branch --hard <커밋 해시>'를 사용하면 현재 브랜치를 특정한 커밋으로 이동할 수 있다.

Git Merge의 순서

feature/time-check 라는 브랜치에서 작업한 내용을 master 브랜치에 합친 뒤 브랜치를 삭제하려면 어떤 순서로 해야할까

1) git checkout feature/time-check
2) git merge master
3) Merge conflict를 해결한다.
4) git checkout master
5) git merge feature/time-check
6) git branch -d feature/time-check

1장 Git이란?

프로젝트 협업시 많이 사용하는 Git에 대해 알아보고, Git을 사용하는 이유에 대해 알아봅니다.

1. Git을 사용하는 이유

[효율적인 협업]

  • 철수 : comment.js 오류 사항 수정했어.
  • 영희 : 어? 내가 수정한 부분은 다 어디갔지?
    > 동시에 같은 파일 작업을 할 수 있음

[쉬운 버전관리]

  • backup파일을 만들지 않고, 각각의 파일을 snapshot상태로 저장할 수 있으므로, 로컬에서 예전 버전으로 쉽게 이동할 수 있음
    > 하나의 파일로 관리할 수 있음

[정리]

1) Git은 여러 명이 효율적으로 협업하기 위한 툴이다.
2) Git은 오픈소스이므로 누구나 사용할 수 있다.
3) Git은 작업을 할 때 옛 버전을 저장해 준다.
4) Git을 사용하면 어러 버전을 동시에 관리할 수 있어 데이터의 안정성이 보장된다.

2. Git의 특징

[가지치기와 병합이 가능]


Image출처 : git-scm.com

[가볍고 빠르다]

  • 소프트웨어 버전 관리 프로그램 중 하나인 SubVersion(SVN)에 대비하여 좋은 부분 ↓↓↓↓↓
  • git은 개인 파일을 만들고 있을때에는 네트워크가 필요하지 않고, 다른사람과 코드를 공유할 때에만 네트워크가 필요함
  • 네트워크 속도와 관계없이 매우 빠르게 작업을 진행할 수 있음

[분산 작업에 효율적]

  • 개인의 로컬에서 작업하여 병합하기 때문에 분산 작업에 효율적임

[데이터 보장]

  • 모든 파일은 checksum이라는 검사 과정을 거치게 됨. checksum은 16진수 문자열(commit ID)로 이루어져 있음
  • Commit ID가 같다는 것은 파일 또는 구성이 완벽이 같다는 것을 의미
  • 누가 무슨 파일을 작업했는지 기록이 남기 때문에 버전관리도 매우 편리

[준비 영역 (Staging area)]

  • 수정한 내용을 repository에 반영하기 전, 검토하는 단계

Image출처 : git-scm.com

[오픈 소스]

  • 소스 코드를 공개한 상태에서 인터넷에서 누구나 프로젝트 작업에 기여할 수있다는 것

[Git 호스팅 서비스]

GitHub // Atlassian Bitbucket // GitLab

3. Git 설치와 초기 설정

[Git 설치]

  1. Git 설치 여부 확인하기
    Terminal 실행 후 Git 명령어 실행해보기
    (1) [command]+[space] : spotlight 창 열기
    (2) Terminal > git 검색

↑ 위 처럼 git-usage 설명이 나온다면 설치되어 있는 것 ↑

[Git 초기 설정]

  1. 사용자 정보 설정
    저장소에 코드를 반영할 때 등록될 사용자 정보를 설정합니다.
    (프로젝트마다 다른 사용자 정보를 지정하고 싶으면 --global을 빼고 실행)
$ git config --global user.name "sukki"
$ git config --global user.emial knk1213@gmail.com
  1. 설정 정보 확인
    아래 명령어를 실행하여 앞에서 설정한 내용을 확인해보기
$ git config --list
credential.helper=osxkeychain
user.name=sukki
user.email=knk1213@gmail.com
...

4. Git 저장소 생성

[Git 저장소 생성]

Git init
기존의 디렉토리를 git repository로 설정

[기존 디렉토리 사용]

Git을 사용할 프로젝트 폴더로 이동 후 아래의 명령어를 실행

$ git init
> git repository가 초기화 되었다는 메세지가 뜸.

프로젝트 디렉토리에 .git 디렉토리가 생성되며 저장소 생성이 완료됨.

[문제!] 새로운 프로젝트를 시작하려는 수키가 컴퓨터에 있는 디렉토리 하나를 git저장소로 만들고 그 안에서 프로젝트를 관리하려가 한다.

'project1' 이라는 폴더를 git 저장소로 만들려면 어떤 명령어를 수행해야 할까? 현재 위치는 c:/Users/workingplace 이고 'project1' 폴더는 c:/Users/workingplace/newfolder/project1에 위치해 있다.

(1) cd 명령어로 project1 폴더로 들어가서 git init을 실행하자
(2) git init ./newfolder/project1면 해결된다

[문제!] git init 명령을 사용하여 3개의 저장소 생성하기
1. 현재 디렉토리에 project1 저장소 만들기
2. mypro 디렉토리 안에 hello 저장소 만들기
3. mypro/world 디렉토리를 저장소로 만들기

ls
# 현재 어떤 파일이 있는지 볼 수 있음
git init project1
# 현재 디렉토리에 project1 저장소 만듬
cd mypro
# mypro 디렉토리로 이동
git init hello
# mydir안에 hello라는 디렉토리 만듬
cd world
# mypro안의 world로 이동
git init
# world를 git init으로 저장소로 만듬

5. Git은 어려우니깐 한 번 더 정리 🧐

프로젝트 파일을 만들 때 mkdir (make directory)

mkdir mydir

프로젝트의 디렉토리로 이동할 때, 들어갈 때 cd (change directory)

cd mydir

현재 디렉토리를 git의 (버전) 저장소로 만든다

git init
profile
sukki의 velog*^^*

0개의 댓글