본문 바로가기
안드로이드 웹앱 콘테츠 개발자 양성(국비지원)/형상관리(Git Hub 등등)

형상관리 (SCM) Git Bash 사용 1-2

by 차누감 2019. 10. 30.

형상관리 (SCM) Git Bash 사용 1-1에서 이어서 하겠다.

 

변경은 했지만 add하기전에 다시 돌아가고 싶다면 git checkout -- 해당파일명

그리고 내용을 확인하기 위해 cat Hello.java를 하면 이전 내용으로 돌아간 것을 볼 수 있다.

또 다른 상황에서 대처 법을 알아보자 . 내가 수정을 하고 add까지 했을 경우

만약에 add했을 때, 다시 돌아가고 싶다면 일단 add를 풀어야 한다. 

git reset HEAD는 add를 푸는 명령어

이제 다시 git checkout -- 해당 파일하면 그전으로 돌아간다.

 

다른 상황을 보겠다. 만약에 add -> commit까지 한 경우이다.

만약에 add하고 commit까지 했다면 돌아가기는 어렵다. 그래서 보통 master에서 다시 가져오는 느낌으로 가져온다.

※add와 commit을 안하면 (master와 다른 branch와 파일이 구별된다고 생각이 있지만.)일단 파일은 하나이기 때문에 master나 hotfix문서 내용이 다 바뀌어 있다. 하지만 이 상황은 잘못된 것이 아니라는 것만 알자. add와 commit을 해주면 구분됨. 일시적으로 변경된 것임.

 

우리는 코드나 정보를 옮기려면 USB나 이런거를 사용한다. 하지만 너무 위치에 제약도 들고 불편하다.

그리서 우리는 Github를 이용해야하는데, 일단 우선 git(github는 git이 연동됨)을 복제하는 것을 연습하고 나중에 Github를 이용하겠다.

 

우선 폴더를 만든다.

새로 만든 GitRepository2에 방금 만든 것을 복사하겠다. (만든 branch까지 있음)

이제 Git에서 했던 작업이 Git Hub에서도 가능하다는 예제를 해보자. (Git Hub에서만 작업함 위 예제랑 관련 없음.)


Git Hub를 가입하자. (이름이나 이메일이 ID로 쓰인다. 비밀번호만 설정하면 가입됨.. 이렇게 쉬울 수가..)

가입을 완료하고 새로운 repository를 만들자.

위에서 README를 체크했기 때문에 자동으로 README까지 만들어 진다.

README를 수정할 수 있다. 연필버튼을 누르자.
html을 안배웠기 때문에 간단하게만 쓰자.
작성하고 Commit changes를 누르면 설명 부분이 바뀐 것을 알 수 있다.

Create new file을 눌러 Hello.java 파일을 만들자.

아래와 같이 입력을 하고

커밋을 누른다.

만든 파일에 branch를 만들어 보겠다. (master만 있으니까)

해당 파일을 클릭

 

branch에 새로 만들수 있는 창이 나온다.
hotfix라는 branch를 만들자.
hotfix로 작업을 해보자.
코드를 작성하고 Commit하자.

이제 다시 master로 가자.

같은 파일이지만 Git과 동일하게 작업 공간을 나뉘므로 서로 다른 코드가 보인다.

이제 경로를 최상위로 옮기면 변견된 내용을 알 수 있다. 이제  merge를 하자.

정상적으로 됐으면 보라색이 나온다.

아래와 같이 merge되어 master와 hotfix의 내용이 같다.

아래 예제는 팀 프로젝트를 할 경우 한명만 collaborator가 되면 되고, 같이 할 사람에게 초대하면 된다.

댓글