본문 바로가기
엘리스 SW 엔지니어 트랙 2기

[TIL] 엘리스 SW 엔지니어 트랙 2기 day 05

by 홍code 2022. 4. 11.

✏️ Today I Learned (2022.04.08)


📖 온라인 강의

1. 깃(GIT)이란?

2. 깃 시작하기

3. 깃 가지치기

4. 깃 원격 저장소


📝 깃(Git)이란?

소프트웨어를 개발하는 기업의 핵심 자산인 소스코드를 효과적으로 관리할 수 있게 해주는 형상 관리 도구(무료, 공개 소프트웨어)

 

깃을 사용하는 이유

  • 효율적인 협업
  • 쉬운 버전 관리

깃의 특징

  • 가지 치기와 병합
  • 가볍고 빠르다.
  • 분산 작업
  • 데이터 보장
  • 준비 영역
  • 오픈소스
  • Git 호스팅 서비스

깃 설치 (window)

1. 터미널 실행 후 git 입력 후 enter

위와 같이 실행되지 않으면 git 설치해야 함

2.  https://git-scm.com/downloads 에 접속 후 각 환경에 맞게 설치

 

Git - Downloads

Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific exp

git-scm.com

3. 터미널 실행 후 git --version 입력 후 enter 하고 버전이 나오면 정상 설치 완료된 거임

 

깃 초기 설정

1. 사용자 정보 설정
저장소에 코드를 반영할 때 등록될 사용자 정보 등록

git config user.name "hong"
git config user.hong@naver.com

 

2.  설정 정보 확인

앞에서 설정한 내용 확인 가능

git config --list

깃 저장소 생성

기존의 디렉터리를 git repository로 설정

Git init

📝 깃 시작하기

새로운 파일 생성

추가할 파일이 있다면 계속 추가할 수 있다.

git add hong.js

현재 폴더 전체를 추가할 수도 있다.

git add

Staging 상태 확인

git status 명령어로 Staging area의 어떤 파일이 변경되었는지 등의 파일의 상태를 확인할 수 있다.

Untracked files이라고 뜨는 파일은 add로 staging 되지 않은 파일들이다.

git status

저장소 반영

준비 영역에 있는 파일들을 저장소에 반영하기 추후에 반영 내용을 확인할 수 있도록 메시지를 넣어주자

git commit -m "Initial commit"

저장소 반영 내역

.git repository에 존재하는 history 확인

git log

add 명령 취소

git reset <file_name>

📝 깃 가지치기

Git Branch 생성

git branch like_feature

현재의 Branch 확인

git branch

Git Branch 전환

git checkout <branch_name>
git checkout <snapshot hash>

Git Merge

master Branch로 이동하여 sub Branch를 병합한다,

git checkout master
git merge like_feature

Commit graph 확인하기

git log --graph --all

Merge 된 Branch 보기

git branch --merged

Git Branch 삭제

git branch -d <branch name>

Git Merge conflict

Merge 한 두 Branch에서 같은 파일을 변경했을 때 충돌이 발생하게 된다.

1. git status명령어로 어느 파일에서 충돌이 발생했는지 확인

2. 충돌이 일어난 파일을 열어 본다.

3. 수정 완료 후 , <<<<< ======= >>>>>> 가 포함된 행을 삭제해준다.

4. git add, git commit 과정을 거쳐 다시 merge 해준다.

5. master Brancj의 변화를 지속적으로 가져와서 충돌이 발생하는 부분을 제거해야 방지할 수 있다.



📝 깃 원격 저장소

GIt 원격 저장소 받아오기

git clone <원격저장소의 주소>
git remote add origin <원격저장소의 주소>

연결된 원격 저장소를 확인

git remote

원격 저장소 살펴보기

git remote show origin

원격 저장소 이름 변경

원격 저장소 단축 이름을 origin에서 git_test로 변경

git remote rename origin git_test

원격 저장소 삭제

git remote rm git_test

원격 저장소에서 데이터 가져오기 + 병합(Merge)

git pull

원격 저장소에서 데이터 가져오기

데이터를 가져오지만 병합하지는 않는다 git log를 통해 변경된 파일을 확인하고 merge 해줘야 한다.

git fetch
git log origin/master
git merge origin/master

저장소 발행

로컬 저장소에서 작업한 내용을 원격 저장소에 반영(딴 사람이 push 한 상태엔 먼저 작업한걸 merge 하고 해줘야 한다.)

git push origin master

💡느낀 점

항상 Github Desktop을 사용해서 깃 헙에 push 할 줄 만 알았지 git에 대해서 깊게 공부해 본건 처음이었다.

오늘 하루도 성장하였다.

댓글