2015년 10월 10일 토요일

Git 분산관리 버젼 시스템 - 인사이트

1.저장소( repository) : 사용자가 변경한 모든 내용을 추적하는 공간.

2.저장소 만들기 :

  • mkdir mywebsite

  • cd mywebsite

  • git init

  • 후에

  • git add index.html

  • git commit -m "hehe first website"


3.branch  만들기

git branch RB_1.0 master

master 브랜치에서 RB_1.0  라는 브랜치를 생성한다. (서브비젼에서는 트렁크라고 했음)

4.원격저장소 복제해오기

git clone http://mysite myclonesite

5.파일무시하기

.gitignore : 저장소및 자신의 컴퓨터에서 파일무시

.git/info/exclude : 자신의 저장소에서만 파일무시

6.브랜치 활용

-깃에서는 모든게 브랜치 로 간주된다.

브랜치는 새로운 기능을 잠깐 만들어보려고 할떄나, 검증전의 새로운 기능추가, 리팩토링,버그수정 등의 별도의 과정을 하고자 할때 주로 생성한다. 새로운 기능은 베타버젼일수있으며 검증이 끝나면 다시 마스터와 통합하여 릴리즈 버젼으로 만들어 배포하는 수순이다.

git checkout -b newAlgo master

마스터로 부터 새로운 알고브랜치를 만든다.

6.1 병합

newAlgo 체크아웃상태에서

git add test.html -> git commit -m "for test" 하면 master 브랜치에서는 존재하지않는다.

따라서 합치고자 하는 브랜치로 전환해야 한다.

git checkout master

git merge --squash newAlgo

로 아까 추가한 것을  master 에 합친다.( squash 는 모든 커밋을 하나의 커밋으로 밀어넣는다.)

6.2 브랜치의 충돌

"브랜치1" 과 "브랜치2"를 먼저 추가후 "브랜치1"에서 내용을 추가한후

"브랜치2"에서 따로 내용 추가한다음

1의 파일을 다시 수정하고

git commit -> git checkout "브랜치1" -> git merge "브랜치2" 하면 충돌이 일어난다.

<<< : 현재 브랜치
>> : 다른브랜치

=== : 구분자

이때는 그냥 머지툴로 충돌 확인하고 적절한 수정을...쿨럭....같은 내용중에 어떤거를 남길수 판단은 인간이.

7.커밋 돌려놓기

git revert -n 5401434 -> git commit -m "revert"

8.원격 저장소를 이용

8.1 push

git origin mybranch:master 해서 로컬의 특정 브랜치를 원격에 저장할수 있다.

원격저장소에 대한 별칭은

git remote add 이름 저장소URL 이다.

git pull thkim HEAD 하면 별칭된 주소에서 가져온다.

0 comments:

댓글 쓰기