10/28 GIT

yookyungmin·2022년 10월 28일
0
post-thumbnail

VCS

  • VERSION CONTROL System
  • 만드는 프로젝트의 스냅챗을 기록하여 언제된 되돌릴수 있게하는 지원하는 시스템

CVS

-1 시세대

SVN

2- 세대

  • 위의두가지는 버전관리 저장소 방식이 중앙 관리 서버 방식이라 안전성이 떨어짐

GIT (DVCS)

  • 저장소가 프로젝트에 참여하는 모든 참여자의 PC로 분산 저장 되기때문에 데이터의 안정성이 높음
  • SOURCE TREE / GITKRAKEN / GITSCM

GITHUB

  • GIt을 활용한 프로제트 저장소를 제공하는 웹서비스

  • git init = 특정 폴더에 깃을 사용하기 위해 초기화 작업을 적용(깃 사용을 취소하고 싶다면 .git 폴더 삭제) > 위의 명령을 통해 Local Repository 가 생성됨 , 지역 저장소

  • Working Tree : 프로젝트 작업이 실제 일어나는 폴더, W.T에 작업한 파일은 STAGE를 거쳐서 L.R에 저장

  • Stage

  • head : 현재 가르키고 있는 위치

  • git log : 커밋된 기록을 보는 명령어 // git log -3 최신 log 3개만 보겠다

    GIT COMMIT 추가로 한 후에 head 위치가 바뀌어 있는데 git checkout 25472 하여 head 변경 후 git log 상태
    폴더에서도 TEST2.txt 파일은 제거가 되어 있음, HEAD -> MASTER를 가르키고 있는 표시는 사라지고 현재 위치를 가르키고 있다고 나온다.

    다시 git checkout master를 통하여 head위치를 master를 가르키고 있게끔 하였다

  • git status : 파일 상태 확인 / working tree clean= 깃 commit후 변화 된게 없다
  • git add TEST1.TXT : 깃 ADD를 stage에 올리기 // 파일 확장명 대소문자 주의
  • git add * : 모든 파일 add
  • git rm --cached TEST1.TXT : 깃 ADD 취소하여 stage에서 제거
  • git commit -m "First commit with TEST1.TXT" // L.R로 COMMIT
  • git config user.email 이메일
  • git config user.name 이름 // 사용자 정보 셋팅
  • git restore 파일명 // 수정하고 저장된 파일이나 삭제된 파일 수정 사항 취소나 살리기
  • git checkout 파일주소앞5자리 : head가 가르키고 있는 commit 위치 바꾸기
  • git reflog 삭제된 브랜치 추적방법
  • git remote add myRemote https://github.com/yookyungmin/practice01.git //원격 저장소 연결
  • git remote -v 원격 저장소 연결 확인
  • git push origin master
  • git remote rm forked // forked 이름을 가진 romote 제거

add 하는걸 staging, indexing이라고도 부른다
커밋된 데이터는 .git 폴더가 존재하는 이상 안전하다

fatal: your current branch 'master' does not have any commits yet
커밋된 기록이 아무것도 없다.

commit 시 -m 을 누락 했을 때 나오는 화면

TEST2 파일이 삭제되고 TEST3 파일이 생성 되었을때 TEST3 파일을 유지하고, TEST2 파일을 살리는방법은? git reset --hard 커밋주소 TEST3은 없고 TEST2 있는 특정 시점으로 아예 되돌리기, or git checkout 커밋주소로 이동후 파일 을 찾아 따로 저장후 git checkout master에서 파일 붙여넣고 마스터 시점에서 커밋

git checkout 을 하면 임시로 만들어진 브랜치로 간다, 브랜치는 이름을 정할수 있는데 해당 사진은 체크아웃 떄문에 만들어진 브랜치에 위치


Head detacged at ~ 임시 브랜치는 빠져나오면 임시 브랜치이기 때문에 찾아가는방법이 어려워
git reflog 사용하여 추적해야 한다


버전이 이미 동일한 상태이다, 커밋을 하지 않고 push는 할수 없다

잘못된 내용을 푸쉬 했다면 깃에서 처리를 하고 푸쉬해야 한다

작업을 끝내고 Pull Request 를 하기전에 다른 업데이트 사항들을 Pull 부터 해서 PUSH 꼬이더라도 내 코드에서 꼬이기

팀 리더

commit 하여 L.R 까지 저장이 끝난 상태라 가정

PUSH 하여 GITHUB에 파일 올린 상태ㅁ
pull request를 받은 조장님은 모든 버전 pull

팀원

팀리더의 레파지토리 FORK

폴더 새로 생성
git add remote forked https://github.com/yookyungmin/GitTest2.git
후 나만의 파일 만들어서 Local Repasitory까지 commit해서 버전2
forked에 push 하기전에 조장님의 새로운 업데이트 사항 pull // 조장님이 깃 주소르를 fork한 레파지토리와 조장님의 깃 주소 두개를 git add remote 한 상태여야 함 , 대중요
Already up to date. 처음에 pull 했을때와 달라진게 없는경우, 내가 더윗버전이다라는 얘기

main 조장 master = 나

pull request 요청 후

0개의 댓글