Software-Engineering

[Software-Engineering] Git

8기_이지정 2024. 5. 29. 09:32

GIT


0. Linux 에서 GIT 사용

 

더보기

1. GIT 설치 및 KEY 생성

# git linux 설치

# GIT 설치 확인
$ git --version

# 설치가 안되어있다면 설치
$ sudo apt update
$ sudo apt install git
$ Y

# git 이름과 이메일 정보 저장
$ git config --global user.name '[유저이름]'
$ git config --global user.email '[GIT 이메일]'
$ git config --list

# 기존 키 삭제하고 새로운 키 생성
$ rm ~/.ssh/id_rsa
$ ssh-keygen 0t ed25519 -C '[GIT 이메일]'
GIT 정보 저장
key 생성
생성된 key 확인

2. KEY 다운로드

SSH 폴더
id_ed25519.pub 윈도우로 다운로드
다운로드 받은 KEY를 삭제

3. KEY GIT 설정

Settings
ssh Key 생성
다운로드 받은 id_ed25519.pub를 복사해서 key에 입력하고 Add SSH key
Key 생성 완료

4. linux에 git clone

ssh 복사
# linux에 git clone
$ cd develop
$ git clone [Git에서 복사한 ssh]
$ yes

# clone 되었는지 확인
$ls
linux에 git clone

 

4. linux에서 README.md 생성

$ cd gittest

#README.MD 파일 생성
$ ehco "GIT TEST > README.md
$ ls
README.md 파일 생성
# GIT ADD
$ git add .
$ git status
ADD
# git에 commit

$ git commit -m "commit 내용"
COMMIT
# git push
$ git push
psuh
linux에서 변경한 내용이 githurb에 반영됨

5. github 에서 수정한 내용 linux에세 확인

변경 사항
# git pull

$ git pull
$ cat README.md
github에서 수정한 것을 linux에서 pull하여 확인

 

1. Git

  • Git 이란 소스코드를 효과적으로 관리하기 위해 개발된 분산형 버전 관리 시스템이다.

2. Git 설치

  • Git 공식 홈페이지에서(https://git-scm.com) 운영체제에 맞는 Git을 다운로드 후 설치한다.
  • Git 설치 후 명령 프롬프트에서 아래의 명령어로 설치된 Git의 버전을 확인한다.
git --version

 

3. Git의 주요 용어

3.1. 저장소(Repository)

  • 저장소는 파일 / 폴더의 저장 공간으로 파일이 변경 이력 별로 구분되어 저장된다.
  • 원격 서버에서 관리되며 여러 사람이 공유하기 위한 저장소를 원격 저장소(Remote Repository)라고 한다.
  • 개인 PC에서 관리하는 저장소를 로컬 저장소(Local Repository)라고 한다.

 

더보기

- 원격 저장소 생성

버튼 클릭
new repository 클릭
저장소 생성
생성된 저장소

- .gitignore 파일 설

.gitignore 검색
키워드 입력
.gitignore 생성됨
.gitignore 파일 수정
commit changes
commit changes

더보기

- 이미 저장소가 있는 상태에서 clone 생성

새로운 repository 생성
repository 설정 후 생성
생성 완료
복사
main 클릭
터미널 open
복사했던 code 붙여넣기

 


더보기

-  저장소가 없 상태에서 clone 생성

repository 생성
복사
폴더 샏성
폴더에서 터미널 open 하여 복사한 code실행

3.2. Commit

  • 로컬 저장소에 파일이나 폴더의 변경 사항을 기록하는 작업을 Commit이라고 한다.
  • Git은 Commit을 시간 순으로 저장하며 이전 Commit 상태부터 현재 Commit 상태까지 만들어 보관한다.
  • Commit 내용을 통해 변경 이력과 변경 내용을 확인할 수 있다.

 

3.4. Branch

  • 저장소 내에서 다른 작업에 영향을 받지 않는 독립된 단위의 저장소를 Branch
  • 즉, Branch는 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능

3.5. Checkout

  • 현재 Branch를 다른 Branch로 전환하는 것을 Checkout

3.6. Merge

  • 특정 브랜치의 작업 내용을 다른 브랜치에 병합하는 것을 Merge라고 한다.

- 원격 Branch 추가

relaese 더블 클릭
확인
원격 브랜치 추가


- source tree에서 브랜치 추가

브랜치 클릭
notice 브랜치 생성
원격지에 notice 브랜치 push
notice 선택 하고 push

 

3.7. Clone

  • 원격 저장소의 내용을 로컬 저장소에 복제하는 것 Clone

기본 브라우저여야만 함
clone 생성
인증
clone 생성 완료

3.8. Push

  • 로컬 저장소에서 변경된 이력을 원격 저장소에 업로드하는 것 Push

3.8. Pull

  • 원격 저장소에서 최신 변경 이력을 다운로드하여 로컬 저장소에 적용하는 것 Pull

4. .gitignore 파일

  • Git에서 관리하지 않는 파일들의 목록을 작성하는 파일을 .gitignore 파일
  • .gitignore 파일은 저장소 최상위에 저장되어야 정상적으로 동작
### Java ###
# Compiled class file
*.class

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

### Windows ###
# Windows thumbnail cache files
Thumbs.db

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

 

5. GIT FLOW

GIT FLOW 전략


5.1 local 저장소 생성

local 저장소 gitflowtest 생성

5.2 README.md 파일 생성후 커

README.md 파일 생성

 

README.md 파일 commit

5.3 브랜치 이름 변경

master 브랜치 이름 변경
main으로 변경
깃플로우 선택
Git Flow 저장소 초기화
브랜치 구조가 변경됨

5.4 Git Flow 기능 생성

Git Flow 기능 시작
board 기능 추가
feature 브랜치가 생성됨
게시판 페이지.txt 파일 생
게시판 페이지.txt 파일 commit
Git flow 다른동작 후 새기능
notice 기능 추가
notice 기능 생성됨
공지사항 페이지.txt 파일 생성
공지사항 페이지.txt commit
게시판 기능 구현 완료한 후 commit

5.4 merge 작업

기능 마무리
기능마무리 후 확인 (board도 같은 작업 수행)

5.4 배포

더보기

현재 과정 git_branch

새 릴리즈 시작
새 릴리즈 추가
release 브랜치가 생성됨
게시판 페이지.txt 파일 수정
게시판 페이지.txt 파일 수정된 것 commit
공지사항 페이지.txt 파일 수정
공지사항 페이지.txt 수정된 것 commit
릴리즈 마무리
develop과 main에 병합

5.5 hotfixes 브랜치 사용 (버그 발생 시 사용)

핫픽스 추가
게시판 페이지에 버그가 발생했다 가정하고 board hotfixes 브랜치 생성
board hotfixes 브랜치가 생성됨
게시판 페이지.txt 파일 수정
게시판 페이지.txt 수정된 것 commit
핫픽스 마무리
핫픽스 마무리 후 확인

 

5.6 GIT 원격 저장소 생성

저장소 생성

 

저장소 이름 및 설정
code 복사
GIT 과 local 저장소 연결
develop 브랜치도 push
연결이 되었는지 Git의 저장소 내용 확인