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 하면 별칭된 주소에서 가져온다.

Related Posts:

  • 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 mastermaster 브랜치에서 RB_1.0  라는 브랜치를 생성한다. (서… Read More
  • [Git] global 설정 자잘한 팁/difftool을 vscode로 하기git config --list : 모든 설정 쫙 git config --global -e : 전역설정파일 ~/.gitconfig 를 열어볼수 있다. user,difftool,mergetool.commit template 등..git config --global core.editor "code --wait" : 이런식으로 설정을 추가하거나 변경가능하다. 이렇게 하면  "git config -… Read More
  • Git 서버 설정생활코딩 쵝오. https://opentutorials.org/course/303/2291순서대로.http://seungbinkim.blogspot.kr/2010/10/git-clone.html 따라했음서버에 구성시키기.원본 디렉토리(original) 에서/home/original/git initgit add .git commit -a -m 'fist'서버의 public_html 서비스 폴더에서/ho… Read More
  • [Git] Git Reflog 로 지워진커밋, 지워진 브랜치 살려내기 Git는 .git에 지운작업조차 다 기록하고 있다. commit, push , pull, cherrypick, rebase..git reflog 로 이력을 볼수 있다.이력이 보이면 커밋아이디가 각각 존재하는데, git reset --hard <7문자의커밋id>하면 해당 커밋이 살아돌아온다.git checkout -b <삭제한 브랜치명> <7문자의커밋id&… Read More
  • Git 커밋된 것중에 잘못커밋된 파일을 커밋하지 않은것 처럼 되돌리기. 커밋을 하다보면 엇. 저파일이 왜 올라가 있지. 할때가 온다.그때 같은 커밋에서 그 파일만 쏙 뺴고 싶을때는git rebase -i HEAD^잘못올라간 커밋까지의 숫자(1부터 무한대) 하고 나서 숫자만큼의 커밋목록이 나타나면 파일을 없애고자 하는 커밋의 pick -> edit로 바꾼다.git restore --source=HEAD^ --staged -- 파일경로/파일이름하고 … Read More

0 comments:

댓글 쓰기