-
<Git>
Git: 공동으로 프로그래밍 작업할 때 사용. 어떤 버전부터 버그가 생겼는지 확인하기 쉽다.
<Git 사용법>
- git clone origin_url : 이미 있는 repository를 내 컴퓨터에 다운로드
- git init : 새로운 repositoty를 내 컴퓨터에 생성
- git add . : 변경된 파일 모두를 commit 할 준비(. 대신 파일명을 쓰면 해당 내용만)
- git commit -m " 메시지" : 내 컴퓨터에 변경 내용을 commit
- git status : 변경 상태 확인
- git pull : 변경 사항 다운로드
- git push origin new_branch : 새로운 branch에 push하기
- git branch : 현재 가지고 있는 branch 목록 + 현재 어디 branch에 있는지 (처음에는 당연히 main)
- git branch new_branch : 새로운 branch 만들기
- git checkout new_branch : 새로운 branch로 이동
- git reset : 새로만든 파일은 삭제되고 지웠던 파일은 복구된다.
- git stash: 변경사항을 임시로 저장할 수 있도록 도와주는 기능
<처음 git을 시작할때는?>
git clone <주소>이 이나 git init을 통해 repository(.git) 생성 후,
git remote add orgin <주소>
git add .
git commit -m "내용 메시지"
git push origin <브랜치명>
<내가 파일 수정하고 나서 나의 branch에 올릴 때>
git pull origin main : main에 저장되어있는 다른 분이 한 작업 update
git branch : 로 내가 어디 있는지 확인
- git checkout -b <브랜치명> : 새로운 <브랜치명>을 만들고, 이동.
git status : 어떤것이 변경되었는지 확인
git add .
git commit -m '변경사항 메시지'
git push origin <브랜치명> : 나의 branch에 넣기이제 github page로 가서 나의 branch에 있는 최신 자료를 PR(pull request)
reviews와 assignees를 지정하고 승인받으면 squarsh Merge ㄲ
<git commit message guide>
feat: 새로운 기능을 추가하거나 기존의 기능을 요구 사항 변경으로 변경한 경우
fix: 기능상 버그를 픽스했을 경우
docs: 직접적인 코드 변화 없이 주석만 추가했을 경우
refactor: 기능의 변화가 아닌 코드만 리펙토링 했을 경우
test: 테스트 코드를 별도로 추가했을 경우
chore: 다른 자잘자잘한 것들
<git pull을 하는데 already up to date라고 pull이 안된다면?>
git fetch --all
git reset --hard origin/main
후 다시 pull을 시도해보자
단, 내가 쓴 코드들은 다 날라간다.
<git pull origin main 이 error 가 발생하면?>
- git stash (현재 내 code들을 임시 저장 한다)
- git pull origin main (main에 있는 것을 받고,)
- git stash pop (다시 내 것과 합친다.)
git stash를 사용할 때는? => 내가 브렌치 B로 작업을 하던 도중, 브렌치 A의 작업을 변경할 일이 있을 때??
<git log>
git log: 커밋 히스토리를 시간순으로 보여준다.
나가는법: Q
git log --patch -2: 최근 두개의 커밋 diff 결과를 보여준다.
git log HEAD~1: HEAD에서 첫번째 떨어진 부모부터 보여준다.