개인과제 진행 상황!
- 로그인 , 회원가입, 로그아웃 구현완료
- 상품등록, 입고등록 완료
- 남은 것 : 출고, 입출고 합산 기능
- 느낀 점 : 시간이 생각보다 촉박하다. 강의를 어제 4주차까지 완강한 상태라서 개념을 익히느라 여러 번 반복해보면서 흐름을 익히고, 왜 이런 기능을 쓰는 지 생각하면서 작성했다. 모델링, 뷰 함수 작성, urls 등등.. 이해하면서 과제를 해야 미완성이라도 나에게 남는 것이 많을 것 같다. 그리고 입고 오류에서 5시간이 걸려서 해결했는데 내일 제출이라.. 밤을 새야할 것 같다. 개인과제 말고 강의도 있고 TIL도 작성하니... 그래도 기본적인 모델링, 뷰 함수는 다 작성해놓아서 연결만 잘 되면 어떻게 되지 않을까 생각 중 그리고 조금 무리해서 하는 이유는 어차피 다음 주 팀 프로젝트에서 적용해야하니깐 내일까지만 잠을 덜 자면 될 것 같다~
Today I Learned
오전에 3시간 git특강이 있었다. 브랜치에 대한 개념을 확실히 정리한 것 같아서 좋았다.
<Git 특강 정리>
git diff : 최근 커밋과 작업 디렉토리 비교
git diff --staged : 최근 커밋과 스테이지 비교
git diff <커밋> <커밋> : <커밋>끼리 비교 (순서 주의)
-> git diff <커밋 비교대상> <달라진 커밋 비교>
git log --oneline : git log 간략하게 보기
<작업 되돌리기 (충분한 연습 필요) >
만들어진 버전을 되돌리는 2가지 방법
revert vs reset
1. revert : 버전을 되돌린 새로운 버전을 만들기
- 조금 더 안전하게 되돌리고, 작업 내용을 남기고 싶을 때
- 커밋 로그가 지저분하고 가독성이 떨어질 수 있는 단점
2. reset : 버전을 완전히 되돌리기
- 커밋 로그를 깔끔하고 유의미한 커밋들로 유지하고 싶을 때
- reset에는 3가지 방법이 존재한다. (soft, mixed, hard)
(1) soft reset : 스테이지로 되돌리기 (커밋 취소)
(2) mixed reset : 작업 디렉토리로 되돌리기 (커밋 & add 취소 / reset 명령의 디폴트)
(3) hard reset : 작업 디렉토리까지 취소 (작업 디렉토리에서 만들었던 변경사항 볼 수 없음 주의!)
----------------------
git reset 과 git revert 유의할 점 ..!
gir reset <되돌아갈 커밋>
gir revert <취소할 커밋> 버전을 되돌린 새로운 커밋을 만드는 명령어기 때문에 커밋 메세지 또한 필요
<stash> (충돌 유의)
git stash : 변경사항 임시저장
git stash -m <메세지> : 변경사항을 메세지와 함께 저장
git stash list : 임시저장 리스트 확인
git stash apply <stash이름> : 임시저장한 것 다시 내 작업에 돌리기
*git stash list 명령어를 입력하면 아래와 같이
stash@{0}: On master: add b in a.txt 이런식으로 출력되는데,
{}안의 숫자는 최근에 임시저장 되었을 수록 0에 가깝다.
:wq (빔 편집기 저장 후 나가기)
+) push 취소
로컬에서 restet 후 push 명령어 입력하는데,
git push --force
git push -f
이런식으로 강제로 push 명령어를 입력한다. 또한 이러한 취소 방식을 권장하진 않는다.
<branch 관리>
git branch : 브랜치 목록 확인 (*표시가 있는 곳이 현재 브랜치가 있는 곳을 알려줌)
git branch <브랜치 이름> : 새 브랜치 생성
git checkout <브랜치 이름> : 특정 작업환경으로 바꾸어주는 명령어
git checkout -b <브랜치 이름> : 새 브랜치 생성 동시에 그 브랜치로 체크아웃(이동)
<HEAD>
현재 작업 중인 브랜치의 최신 커밋을 가리킨다. (어디서 작업 중인지 알 수 있다.)
+) checkout?
HEAD의 위치를 특정 브랜치의 최신 커밋으로 옮김
<merge (브랜치 합치기, 병합)>
꼭 알아야 할 사항 ! merge는 main 브랜치에서 다른 브랜치들을 땡겨서 병합하는 개념!
그러므로,
main branch 에서 git merge <병합할 브랜치 이름>
(1) 빨리감기 병합 : 변합이 없는 메인 브랜치가 빨리감기를 하듯 브랜치 내용이 업데이트 되는 병합 기법
(2) 일반 병합 : 브랜치와 메인 브랜치가 서로 다른 커밋이 있는 상태에서 두 브랜치를 병합한 새로운 커밋이 생성되는 것을 의미
=> 새로운 커밋을 만들기 때문에 커밋메세지 또한 작성해야 한다.
'내일배움캠프 > 내일배움캠프 TIL' 카테고리의 다른 글
내일배움캠프 TIL 21일차 (1) | 2023.04.11 |
---|---|
내일배움캠프 TIL 20일차 (0) | 2023.04.07 |
내일배움캠프 AI 5기 TIL 18일차 (0) | 2023.04.05 |
내일배움캠프 AI 5기 TIL 17일차 (2) | 2023.04.04 |
내일배움캠프 AI 5기 TIL 16일차 (0) | 2023.04.03 |