깃[파일을 코드로 인식]
깃 버전 관리
- 작업 디렉토리 - 소스 파일들(여기에 코딩 하면 됨)
- 스테이지 - 임시 무대(깃이 관리)
- 확인차원 + 묶음
- add : 작업 디렉토리의 내용을 스테이지에 올리는 것
- 저장소(깃이 관리) : 버전이 만들어지고 관리되는 공간
- commit : 스테이지의 내용을 저장소로 커밋
https://github.com/abhisheknaiidu/awesome-github-profile-readme
코드트리

ctrl
를 누르고 커밋과 커밋을 선택하면 변경사항을 알 수 있음

- 그전의 파일로 돌아가려면 위의 상태에서 파일 누른후 오른쪽 마우스 선택한 버전 열기 하면 됨
버전 되돌리기
revert
- 버전을 되돌린 새로운 버전 만들기
- 모든 버전이 유지 된 채, 새로운 버전을 만든다..
- 지금까지 만든 버전은 손대지 않고, 되돌리고 싶다
- ex. 1000번 ⇒ 999번으로 되돌리기 ⇒ 1001번으로 만들어짐
reset


soft
: 저장소로 커밋하기만 제거, 커밋 사실만 지우기
mixed
: 스테이지로 추가하기를 제거
- 코드는 남아 있음
- 그렇기 때문에 add후 다시 커밋하면 됨
hard
: 코드까지 다 지움
지금까지 작업 임시 보관하기
스태시(Stash)
- 지금 코딩 작업중인 것을 날리기
- 작업의 임시보관
- 충돌 할 수 있기에 보관하고 나서 다시 복구시 그냥 삭제할 것
브랜치
브랜치의 기본
- 서로의 작업과 전혀 관련 없는 부분, 같은 코드를 다르게 수정한 부분 혼재의 문제 해결
- 버전의 분기
브랜치를 나눈다
- 최초의 브랜치는 master 브랜치로 이름이 정해짐
- 브랜치 이름 규정은없으나, 목적에 맞게 부여하는 것이 좋음
- 각자의 브랜치에서 작업한다.
Head
는 현재 작업 중인 커밋
체크아웃
은 Head를 변경하는 작업
- head를 바꾸는 방법은 브랜치에서 더블클릭하면 작업 환경이 달라짐
- master에 두면

- foo에 두면 foo에 만든 foo txt 파일 보임

나눈 브랜치를 합친다(Marge)
- 빠른 브랜치 합치기
1. foo 합치기
1. 현재 브랜치 위치 확인 할것
2. 이후 foo는 필요없으니 브랜치에서 삭제



- 일반 프랜치 합치기 ⇒ 충돌나지 않기에 개별 파일로 작업하는 것이 좋음 EX. A따로 B 파일 따로 만들어서 작업
- 마스터에서 작업을 하고, foo에서도 작업을 하면 이런 결과가 나옴




충돌

- 마스터에서도 작업을 하고 FOO도 같은 것을 작업 ⇒ 충돌
- 커밋하지 않은 변경사항이 생김

- 둘 중 하나를 선택 해야 하는데
내 것
은 현재 브랜치

- 결과 ⇒ 파일상태에서 충돌에 대한 설명 커밋…

충돌 방지
를 위해서는 a 파일이 있다는 전제하에 a파일을 둘 다 쓰는 것이 아닌 b 파일을 만들어서 할 것
브랜치의 재배치

깃허브
깃 허브와 소스 트리의 연동


- clone 후 pc에서 커밋 후
pull
하면 깃허브에도 똑같이 수정해서 올라감
깃허브로 협업하기
원격 저장소와 협업하기

- 소스트리에 복제

- push은 오류남..(업로드 불가 허가 받은 사람이 아니기에 코드만 볼 수 있다)
- push : 업로드
- fech : 다운로드
- pull : 다운로드 후 합치기
중요 요약 : 새로운 프로젝트 시작(HTML_Project) ~~ (깃, 깃허브도 세팅해 놓기) ⇒ 새 pc 배포
- pc 배정 후 1회
- 개발 환경 설정 : Visual Studio Code, Eclispse, Java … <자신의 개발환경>
- 깃 설치 + 소스트리 설치
- 깃허브 가입
- 깃허브와 소스트리의 연동(계정 추가)
- 프로젝트 마다 설정(HTML_Project)
- 깃 허브에 저장소 생성 + 빈 파일 생성(확인용)
- 소스트리에서 클론 + 확인
- 매일 작업
- 코딩하기(작업 디렉토리 변경)
- (퇴근전) Add + Commit ⇒ 버전 생성
- Push…
중요 요약 2 : pc의 기존 깃 프로젝트(Project1)가 진행중에 있다. 이제부터는 깃허브에도 백업하자
- 1회만 할 것
- 깃 허브 가입
- 깃허브와 소스트리의 연동(계정 추가)
- 프로젝트마다 각각 (Project1)
- 깃허브에 저장소 생성(완전 빈 저장소)
- 소스트리에서 원격지(origin) 주소를 추가

추가 : 원격이름 디폴트, URL HTTPS 주소 복사해서 넣음



- 매일 작업
- 코딩하기(작업 디렉토리 변경)
- (퇴근전) Add + Commit ⇒ 버전 생성
- Push…
내 깃허브
내 깃허브 주소
화면(미완성)

회고
이틀동안 깃, 깃허브 기본만 특강으로 들었다. 처음 인강듣고 혼자할 때는 많은 걸 소화하려 해서 더 금방 지쳐버렸다.. 근데 이거는 그래도 기본은 알려주면서 좀 재미있게 알려줘서 좋았다. 미니특강으로 취업 관련된 걸 들었는데 내가 잘 생각하고 있구나를 다시 알게 된 계기었다. 깃 허브 만지는 것은 좀 더 심화는 배워야 할 것 같다. 연결부분도 그렇고 명령어도 너무 적어...
그리고 깃허브의 스택도 하나씩 늘려가서 마스터 하고 싶다. 깃허브에도 공부한 거 올리고 싶은데 너무 욕심부리면 지치니 천천히..