Git

    #15 Git(깃) 브랜치 병합(merge) & 충돌(conflict)&삭제(-d)

    브랜치(branch)를 하여 프로젝트를 진행할 때 서브브랜치에 있는 내용을 메인브랜치로 병합(merge)하고 싶을 때가 있습니다. git에서는 merge 명령어를 사용하면 쉽게 병합을 할 수 있습니다. git에서 서로 다른 파일, 서로 같은 파일이지만 다른 위치에서 작성한 내용을 병합(merge)할때는 충돌없이 알아서 처리를 해주지만 서로 같은 파일 같은 위치에서 작성한 내용을 병합(merge) 할때는 충돌(conflict)가 일어납니다. 충돌(conflict)가 일어나게 되면 git에서는 병합(merge)를 중지시키고 사용자에게 충돌(conflict)를 처리하라고 요청합니다. 이때 우리는 충돌(conflict)를 알맞게 처리해준뒤 병합(merge)하면 됩니다. 병합이 모두 완료되면 브랜치를 삭제하도록 ..

    #14 Git(깃) --branches 옵션 , --graph 옵션 , 브랜치 비교하기

    git log 명령어에 --branches 옵션, --graph 옵션을 사용하여 브랜치의 정보를 확인해 보도록하겠습니다. apple 브랜치에 program.txt를 열고 "apple program 4" 을 저장한뒤 같은 문구로 커밋을 하였습니다. git log --oneline 명령어를 실행하여 로그를 확인해보았습니다. HEAD -> apple 이라고 되어있으니 현재 apple 브랜치이며, apple 브랜치의 최신 커밋은 apple program 4 임을 확인 할 수 있습니다. git log에 --branches 옵션을 사용해 보도록 하겠습니다. --branches 옵션은 각 브랜치의 커밋을 함께 볼수 있습니다. 현재 master 브랜치의 최신 커밋은 master program 4 입니다. ms , go..

    #13 Git(깃) Branch 이동하기(git checkout)

    브랜치(Branch)를 여러개 만들었으면 각 브랜치를 이동하면서 작업하는 방법을 이야기하겠습니다. git log --oneline을 입력하여 로그를 확인해보겠습니다. HEAD가 master 브랜치를 가리키기 때문에 현재 브랜치는 master입니다. HEAD를 apple 브랜치로 바꾸면서 현재 브랜치를 apple로 바꾸도록 하겠습니다. git checkout apple을 입력하면 파일의 경로 끝에 master에서 apple로 바뀌어있는 것을 알 수 있습니다. 현재 브랜치가 apple이라는 의미입니다. git log --oneline 명령어를 실행하여 로그를 확인해보니 역시 HEAD가 apple을 가르키고있습니다. 또한 master 브랜치에서 커밋하였던 master program 4가 없는 것을 볼 수있습니..

    #12 Git(깃) Branch 생성

    버전관리시스템에는 브랜치(Branch)라는 개념이 있습니다. 브랜치(Branch)란 나뭇가지, 갈라지다(나뉘다)를 의미하는데 Git과 같은 버전관리시스템에서는 갈라지다(나뉘다)의 의미로 사용이 되고, 브랜치의 모습이 나뭇가지와 유사해 보입니다. 브랜치가 왜 필요할까요? Git을 이용하여 어떠한 프로그램을 버전관리한다고 가정해보겠습니다. 프로그램이 유용하여 구글, 애플, 마이크로소프트에서 자신들에게 맞는 프로그램으로 변화해달라고 요청이 들어왔습니다. 브랜치가 없었다면 우리는 작업중이던 저장소를 복사하여 구글, 애플, 마이크로소프트에 맞게 이름을 만들고 각 저장소마다 버전관리를 따로할 것입니다. 이 방법은 효율이 좋지 않고, 프로그램의 주요 내용들이 중복이 됩니다. 또한 애플, 마이크로소프트, 구글에 맞게 ..

    #11 Git(깃) git revert(삭제하지 않고 커밋 되돌리기)

    저번 포스팅에서는 git reset 명령어를 사용하여 커밋을 삭제하고 되돌아가는 방법을 포스팅하였습니다. git revert는 git reset 명령어와 다르게 커밋을 삭제하지 않고 되돌아가는 방법입니다. git revert 1. reverTest.txt 파일을 만들고 "revert test 1" 입력 후에 저장하였습니다. 2. revertTest.txt 파일을 "revert test 1" 커밋메시지와 함께 commit하였습니다. 1. revertTest.txt 파일에 "revert test 2" 추가하고 저장하였습니다. 2. revertTest.txt 파일을 "revert test 2" 커밋메시지와 함께 commit하였습니다. 위의 과정을 반복하여 "revert test 5" 까지 만들었습니다. git..

    #10 Git(깃) git reset(커밋 되돌리기)

    저번 포스팅에서는 커밋하기전의 내용을 되돌리는 방법에 관하여 이야기하였습니다. 이번에는 최신 커밋을 되돌리기, 특정 커밋으로 되돌리는 방법에 관하여 포스팅하겠습니다. 최신 커밋 되돌리기 test.txt 파일에 "ver4" 를 추가하고 "ver4" 커밋메시지와 커밋하여 버전을 생성하였습니다. git log 명령어를 사용하여 기록을 확인해보았습니다. "ver4" 커밋메시지와 최신버전이 생성이 되어있는 것을 볼 수 있습니다. git reset HEAD^ 명령어를 사용하였습니다. ※ ^(shift + 6) git reset HEAD^ 명령어는 최신 커밋을 스테이징을 하기 전 상태로 되돌아가는 명령어 입니다. Unstaged changes after reset: 메시지의 의미는 커밋이 취소되고 스테이지에서 내려갔..