git 지옥에서 온 git
터미널 또는 gitbash 툴을 사용하여 명령어를 이용해 소스를 관리
@start a working area(작업공간 시작하기.)
프로젝트 폴더 생성 후 폴더 안에서
git init 하면 저장소가 생성이 되고 .git/ 폴더가 생성된다.
.git 폴더는 버전 정보를 가지고 있다.
@git 이 관리할 파일 등록
생성된 파일 test.txt 가 있으면
터미널에서 git add test.txt 하면 등록이 된다
add
대상 파일을 git에게 추적하도록 명령하고 commit되기 전 stage에 등록한다.
폴더의 상태를 확인할때는 git status 치면 된다.
@git 버전 만들기
git 버전을 만든 사람에 대한 정보를 설정한다.(한번만 설정하면 된다.)
git config --global user.name nickname
git config --global user.email email
git commit 하면
add 한 파일들에 대하여 파일의 상세설명을 등록하면
add한 파일들이 새로운 버전을 생성하게 된다.
text.txt 를 수정하였을 경우
등록때와 마찬가지로 파일을 수정하여 버전을 만들기 전에도 add 명령어를 사용한다.
git add text.txt 를 하여 수정된 파일을 다시 등록한다.
git commit 하면 새로운 버전을 등록 시 상세설명을 등록하여\
버전을 업데이트 해준다.
@git commit 전에 add를 해야하는 이유.
(git은 commit 전에 add를 꼭해야 합니다. 그 이유는 선택적으로 파일을 버전에 포함시키기 위해서 입니다.
여기서는 이에 대한 설명을 합니다.)
선택적 commit를 하기위해 add로 commit 할 파일만 등록한다.
stage area 커밋 대기 지역
@ 변경사항 확인
git log -p
:로그에서 출력되는 버전간의 차이점을 출력하고 싶을때
git diff '버전id' '버전id2'
:버전간의 차이점을 비교할때
git diff
:add 하기전과 add 한 후의 파일내용을 비교할때.
@ 버전 되돌리기
아래 명령은 버전 id로 돌아가는 명령입니다.
git reset --hard "버전 id"
버전 id의 커밋을 취소한 내용을 새로운 버전으로 만드는 명령
git revert "버전 id"
@git branch(작업 분기 하기)
매인 되는 작업과 테스트 되는 작업을 분리하여 매인 작업에 문제가 없도록 하기 위한 일
브랜치의 목록을 볼 때
git branch
브랜치를 생성할 때
git branch "새로운 브랜치 이름"
브랜치를 삭제할 때
git branch -d
병합하지 않은 브랜치를 강제 삭제할 때
git branch -D
브랜치를 전환(체크아웃)할 때
git checkout "전환하려는 브랜치 이름"
브랜치를 생성하고 전환까지 할 때
git checkout -b "생성하고 전환할 브랜치 이름"
@브런치
매인 브런치가 골조로 서브 브런치를 생성하여 매인 브런치는 영향이 없도록 브런치를 만들어
서브 브런치에서 작업을 함.
서브 브런치에서 작업을 하고 push를 하면 원격 저장소 서브 브런치에 업로드가 됨.
새로운 브런치 생성.
git checkout -b newBranch
브런치 이동
git checkout branch
브런치 삭제
git branch -d branch
@저장소 받아오기
로컬 저장소 복제
git clone /로컬/저장소/경로
원격 저장소 복제
git clone 사용자명@호스트:/원격/저장소/경로
@원격저장소
소스코드 백업
다른 사람들과의 협업
인터넷 연결하여 외부 저장소를 활용.
원격저장소로 소스를 복사하기
git remote add origin <원격서버 주소>
원격저장소로 변경 내용 업로드
git push origin 브런치
브런치 원격저장소로 전송.
git push origin branch
저장소 갱신(로컬 저장소를 원격 저장소에 맞춰 갱신)
git pull
브런치 병합
git merge branch
git 은 버전관리 시스템 이다.
git은 내 로컬 저장소 또는 원격 저장소에 저장할 수 있고 협업이 가능하다.
맨처음 파일 생성하면 add(버전관리) 할지 선택하고
소스를 완성하면 commit하여 버전관리를 함.
소스의 설명 또는 버전 메시지를 넣을 수 있음.
(여기까지가 내 저장소에서 소스관리 하는 것..)
브런치.(원격 혹은 내 저장소에서 매인 소스를 건드리지 않고 소스를 관리하도록 함.)
매인 브런치가 골조로 서브 브런치를 생성하여 매인 브런치는 영향이 없도록 브런치를 만들어
서브 브런치에서 작업을 함.
서브 브런치에서 작업을 하고 push를 하면 원격 저장소 서브 브런치에 업로드가 됨.