Git 이란 무엇인가?
쉽게 말해 '시간여행이 가능한 평행우주'
'시간여행' = 시간대별로 원상복귀 또는 특정 시점으로 가서 필요한 것만 가지고 현재로 올수 있고
'평행우주' = 진행하고 있는 프로젝트에서 가지쳐서 사이드 프로젝트로 실험적인 프로젝트도 같이 진행해볼수있도록
1. Git 기본 세팅하기
1) 작업할 폴더를 만들고
2) VS CODE로 해당 폴더를 open
3) 파일 생성, 작업 등 진행 후
4) VS CODE NEW TERMINAL 창 연 뒤
git init
해당 폴더를 git 환경으로 설정
git config --global user.name "이름"
git config --global user.email "이메일"
이름과 이메일을 설정
위와 같이 숨겨진폴더 (.git) 이 생성되고, git 환경안에 해당 폴더가 들어왔음을 확인할 수 있다
2. 현재 시점을 저장하기
git status
현재 상태 파악
untracked : 아직 git 저장되지 않았다는 뜻
git add -A
모든 파일을 git에 담아라
git status 다시 확인해보면
changes to be commited : commit 되기 위해 기다리고 있는 것들
git commit
commit 명령어
git commit -m "설명"
이번 commit에 대한 보충설명
다시 git status 해보면
이제 작업할 git이 없다고 나옴. 최종 저장 이후 변화가 없었기 때문에
새로운 파일(dog)를 만들고 status 를 돌렸더니
아래처럼 변화감지
git add -A 후
git commit 명령어 실행한다음
지금까지 git 한 내역을 확인하기 위한 명령어
git log
2번의 commit 한 내역을 확인할수있다
3. 과거로 돌아가기 - reset , revert
두가지 방법
1) 과감한 방법 (이전 데이터 싹 지우는 방법)
2) 신중한 방법
git reset '6자리' --hard
6자리 : commit 앞 6자리 , 돌아갈 시점
하드하게 싹 지우는방법
git revert
6자리 : commit 앞 6자리 , 취소할 시점
4. 평행우주 넘나들기 - Branch
git branch 브랜치이름
(git branch my-idea)
브랜치 설정 후
git branch
브랜치 내역 확인
git checkout my-idea
해당 브랜치로 이동
4. 다른 우주에서 가져오기 - Merge , Rebase
master 상황에서
git merge my-idea
(my-idea 브랜치에서의 내용을 master위에 덮어씌우기)
merge가 만능은 아니다
주의해야할 사항이 있다
bark-wang 이라는 브랜치를 만든 뒤, 들어가보겠다
bark-wang 브랜치에서 dog 파일에는 bark wang
master 에서 dog 파일에는 bark warlllll
이런 뒤 merge 라면 충돌오류 발생
위와같은 경우 , 해결이 가능하지만
가능한 다른 브랜치가 같은 파일을 수정하는일을 피하는 것이 좋다
merge , rebase의 차이
git branch -D my-idea
다쓴 브랜치를 삭제할때
5. git hub
git remote
원격 연결되어있는 repository를 확인하는 코드
git remote add origin 파일위치명
git puth -u origin master
.gitignore
공개되면 안되는 파일이나
라이브러리설치(어차피 실해되면 설치될건데)
.gitignore 라는 파일을 생성한 뒤
숨기고 싶은 파일도 생성 (verysecret)
.gitignore 파일안에 숨기고싶은 파일명을 추가한뒤 저장하면
git status 시 해당 파일은 표시되지 않는걸로 확인됨
6. 깃헙 소스를 내 컴퓨터로 다운받을때
git clone github.com/khalidpark/git_and_github_test.git
git pull origin master
6. 깃헙 브랜치
새로운 폴더 생성후
git checkout -b my-idea
새로운 브랜치를 만들고 그 브랜츠로 바로 넘어가는 명령어
해당 브랜치를 깃헙에 연결해주고 (remote)
git push origin my-idea
my-idea라는 브랜치로 올리겠다고 명령하면
원하는 브랜치에서 clone 할때는
git branch 로컬 브랜치만 확인가능하나
git branch -a 는 로컬,원격 브랜치 모두 확인가능
git fetch 실행해서 원격과의 업데이트 쫙 한다음 다시 실행하면
BAM~!!!
git checkout -b 새로만들고싶은 로컬브랜치명 origin/원격브랜치명
git checkout -b my-ideassss origin/my-idea
로컬에 my-ideasssss 브랜치를 만들어라
내용은 원격의 my-idea 브랜치에 있는거에서 가져와라
7. 충돌 해결하기!
vscode에서 충돌파트를 친절하게 보여준다 우선
둘중 하나만 남기거나, 적당히 수정한뒤 저장
그리고 git add-A 후 git commit 까지만 입력
:wq 입력후 git push 하면 마무리
출처 : youtu.be/FXDjmsiv8fI
출처 : youtu.be/GaKjTjwcKQo
'AI월드 > ⚙️AI BOOTCAMP_Section 3' 카테고리의 다른 글
IP , DNS , PORT 이해하기 _Day42(3) (0) | 2021.03.05 |
---|---|
리눅스 기본 명령어_Day42(2) (0) | 2021.03.05 |
Command Line Interface (CLI)를 알아보자_Day42 (0) | 2021.03.05 |
Terminal vs. Bash vs. Command line 차이를 알아보자_Day41(3) (0) | 2021.03.04 |
아나콘다 초기 환경설정,anaconda_Day41 (0) | 2021.03.04 |
댓글