GIT - 1
GIT
변경 관리, 공통적인 내용 중복, 불필요한 파일 낭비 해결을 위해
만약에 잠수함 패치를 걸면? - ppt로 하면 이 잠수함 패치를 확인하기도 힘듬. (맨날 들어가야댐)
이러한 관리를. 몇 번째 버전이 뭘 했는지 → 버전 관리로 관리하자.
버전 관리 - 타인과 공유하는 방법?
- 직접 상대방 B와 A가 직접 GIT PROTOCOL 등으로 통신하는 방법도 있다
- SAAS (GITHUB 등)
- GITHUB가 BACKUP을 활용하는 방식. → LOCAL에 버전을 담아둔다.
GITHUB CLI vs GUI(마우스)
CLI : 잘 안바뀜 BUT 어려움. GUI : 레이아웃 위치 변경 가능.
명령어 (복습 위주)
init → 사실. git/이라는 숨김 폴더를 만들어주는 것이었다.
main branch? → 기본 세팅 (master 아닌 거 헷갈리지 말자)
status → 상태 확인.
add → 추적에 추가한다. (. or 파일명) 최초 생성시에는, 기존 추적 파일의 변경사항을 스테이징 영역에 추가.
(즉, commit 하기 이전 마다 올려준다)
commit → 생성도 작업 로그 중 하나
restore → 다시 stage 영역에서 내리기
checkout은 branch 간 이동 뿐만 아니라 특정 커밋 시점으로의 이동도 가능.
(이게 그 작업 해시코드)
log들 한번에 확인하기에는, git log —oneline이 보기 편하다.
이게 뭘까?
지금 HEAD (내 로컬의 최근이 가르키는 곳 = MAIN = 원격의 MAIN = 원격의 최근)
- 포인터라고 생각하기.
fetch 한 거 확인하기
git log —all —oneline
→ 그 이후에 git checkout 하고 젤 최근 origin의 작업으로 = head와 origin/main을 맞춰준다
fetch 한 거 가져오기
MERGE인데 주의. MERGE []는, []를 현재에 가져오겠다. ([]를 현재에 가져오는 거 임에 주의!)
git checkout main 이후, git merge {젤 최근 branch}
untrack→track은 add로. track→ 변경사항 있나 없나 는 modified, unmodified로 기본적으로 첫 생성 or modified만 commit의 대상이 된다.
++ 리눅스는 드래그로 복사, 우클릭 + paste로 붙여넣기
즉 push는 작업 시 진행
clone은 원격을 받아 올 때
Fetch는 원격의 최신 작업 내용을 확인한다.
fetch시 주의!! Fetch는 바로 땡기는 pull과 다르다.
일단 local로 가져오지만, 바로 local에 다 반영하지는 않는다. (확인 용이다)