Waterfall
Agile
출처: Agile Principles(애자일 12가지 원칙)
※정답은 없으나 최근 트렌드는 Agile을 사용함
출처: 애자일 Scrum(스크럼)
없다면 사람을 갈아 넣어야 겠지..
자동화 tool이 필요하다.
출처: https://reqtest.com/agile-blog/agile-vs-devops/
git이란?
코드 이력 관리 툴!
https://git-scm.com/
Git 시간대별로 코드 히스토리 제어가 가능한 타임머신:
출처: https://brunch.co.kr/@ultra0034/55
Git은 위의 시나리오를 위해 나온 시스템이다. Git은 작성한 코드를 시간대별로 제어 가능하고 쉽게 다른 개발자와 협업을 도와준다.
Git의 주요 기능은:
git 초기설정
git config --global user.name <이름>
git config --global user.email <메일이름>
git 레포지토리 초기화
mkdir sample-repo
cd sample-repo
git init
git 사이트에서 설치하자
초기화 부터 해야하나 난 이미 설정 하였기 때문에 pass~
init을 하였고, sample.txt를 추가해보았다.
스테이징 영역에 올라갔다.
즉, commit할 준비가 끝났다.
작업폴더에 하위 폴더 및 파일 추가하기
mkdir child-dir
echo test! > child-dir/sample.txt
첫 번째 commit하기
git cmomit -m "first commit"
레포지토리 상태 확인
git status
commit 이력 확인
git log
branch에 대한 내용은 뒤에서 다루겠다.
git log --oneline
commit message와 commit id확인
echo '파일 갱신!' > sample.txt
git idff
git add .
git status
log에서 가장 위 항목이 최신 내용이다.
child-dir\sample.txt도 실습하기
staging 되돌리기
git reset
unstaged후 다시 확인해보기
git status
status상태를 되돌렸다.
파일 변경점도 되돌리기
git reset --hard
바로 전에 바꿧던 변경점으로 돌아간다.
변경점을 되돌릴 것이다.
git diff해도 전과 동일하기 때문에 변경점이 안나온다.
특정 커밋 ID로 되돌리기
git reset --hard<커밋 id>
commit id를 입력하면 원하는 위치로 돌아갈 수 있다.
자주 사용하면 안좋다.
자칫 중간 히스토리가 날라갈 수 있으니
Github
원격 레포지토리를 제공하는 git-hosting 서비스
clone: 원격 레포지토리를 복사
pull: 현재 브랜치의 내용을 당겨오기
fetch: 현재 레포지토리 최신버전으로 갱신
push: 로컬 레포지토리 업로드하기
출처: What is git commit, push, pull, log, aliases, fetch, config & clone
git branch -M main
새로 만들 branch 이름을 적어서 Main branch로 만들겠다 라는 의미이다.
괄호는 main이라는 이름의 Main branch이다.
원격 레포지토리에 원격 등로하기
git remote add <별명> <주소>
git remote add origin https://github.com/ansunny1170/sample-repo.git
원격 레포지토리에 로컬 레포지토리 업로드하기
git push -u origin main
최초 1회로 -u origin main이라고 했으면 다음부터는 git push만 해도 된다.
변경된 파일을 다시 업로드해보자
git pull
우선 .git폴더를 삭제하고
clone한다
새로운 폴더에 clone도 가능하다.
출처: Git Branches: List, Create, Switch to, Merge, Push, & Delete
branch란?
다른 개발자와 협업 시, 여러 작업을 동시에 진행하고 싶을 때 사용
branch 만들기 및 변경
git branch <branch 명>
git checkout <branch 명>
branch 삭제
git branch -D <branch 명>
branch 새로 만들자마자 변경하기
git checkout -b <branch 명>
sample1.txt를 새로 만들었고, commit하여 log로 확인하였다.
branch를 main으로 옮겨 log를 확인해 봤더니 다르다.
즉, branch가 다르면 환경이 다르다는 뜻이다.
초록 버튼의 pull request를 해도되지만
issue1 branch를 합치려하기 때문에 아래 comment와 내용은 모두 issue1에 대한 contents고 합치기 원한다면 create pull request를 누른다.