[Software-Engineering] Git
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 이메일]'



2. KEY 다운로드



3. KEY GIT 설정




4. linux에 git clone

# linux에 git clone
$ cd develop
$ git clone [Git에서 복사한 ssh]
$ yes
# clone 되었는지 확인
$ls

4. linux에서 README.md 생성
$ cd gittest
#README.MD 파일 생성
$ ehco "GIT TEST > README.md
$ ls

# GIT ADD
$ git add .
$ git status

# git에 commit
$ git commit -m "commit 내용"

# git push
$ git push


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

# git pull
$ git pull
$ cat README.md

- Git 이란 소스코드를 효과적으로 관리하기 위해 개발된 분산형 버전 관리 시스템이다.
- Git 공식 홈페이지에서(https://git-scm.com) 운영체제에 맞는 Git을 다운로드 후 설치한다.
- Git 설치 후 명령 프롬프트에서 아래의 명령어로 설치된 Git의 버전을 확인한다.
git --version
3. Git의 주요 용어
- 저장소는 파일 / 폴더의 저장 공간으로 파일이 변경 이력 별로 구분되어 저장된다.
- 원격 서버에서 관리되며 여러 사람이 공유하기 위한 저장소를 원격 저장소(Remote Repository)라고 한다.
- 개인 PC에서 관리하는 저장소를 로컬 저장소(Local Repository)라고 한다.
- 원격 저장소 생성




- .gitignore 파일 설






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







- 로컬 저장소에 파일이나 폴더의 변경 사항을 기록하는 작업을 Commit이라고 한다.
- Git은 Commit을 시간 순으로 저장하며 이전 Commit 상태부터 현재 Commit 상태까지 만들어 보관한다.
- Commit 내용을 통해 변경 이력과 변경 내용을 확인할 수 있다.
- 저장소 내에서 다른 작업에 영향을 받지 않는 독립된 단위의 저장소를 Branch
- 즉, Branch는 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능
3.5. Checkout
- 현재 Branch를 다른 Branch로 전환하는 것을 Checkout
3.6. Merge
- 특정 브랜치의 작업 내용을 다른 브랜치에 병합하는 것을 Merge라고 한다.
- 원격 Branch 추가
- source tree에서 브랜치 추가
- 원격 저장소의 내용을 로컬 저장소에 복제하는 것 Clone
- 로컬 저장소에서 변경된 이력을 원격 저장소에 업로드하는 것 Push
- 원격 저장소에서 최신 변경 이력을 다운로드하여 로컬 저장소에 적용하는 것 Pull
- 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
5.1 local 저장소 생성
5.2 README.md 파일 생성후 커
5.3 브랜치 이름 변경
5.4 Git Flow 기능 생성
5.4 merge 작업
5.4 배포
현재 과정 git_branch

5.5 hotfixes 브랜치 사용 (버그 발생 시 사용)
5.6 GIT 원격 저장소 생성