14. 브랜치 충돌 - 앞서 설명했던 충돌과 똑같은 맥락이다. - 브랜치 끼리 병합할 때, 똑같은 소스코드의 내용이 수정되어 있는 경우 어떤 소스가 우선권 있는지 모르므로 사용자에게 충돌을 알린다. 1. 브랜치 한개 더 추가 - anotherVer 라는 브랜치를 한개 더 추가한다. - 아래처럼 총 3개 master, ajax_use(이하 A), anotherVar(이하 B) 브랜치가 존재 하는 상황 2. anotherVer 브랜치에서 소스 수정 - B 브랜치에서 소스 수정한다. - 일부러 Anohter Branches 버전이라고 넣었다. 3. master에 B 병합해보자 - Merge anotherVer into current branch 선택 4. master 소스와 겹쳐서 에러난다. 5. 수동으로 소..
13. 브랜치 만들기 - 브랜치 : 코드를 통째로 복사하고 나서 원래 코드와는 상관없이 독립적 개발 진행할 수 있는 상황에서, 이렇게 독립적 개발하는 버전이 브랜치다. - 사실 다른 브랜치관점에서 보면 Master 브랜치도 특별하지 않다. 내부적으로 git init 명령으로 초기화 할 때 자동으로 이 Master 브랜치가 만들어 진 것일뿐. 1. 브랜치 만들기 - Git_Local 탭에서 > 상단의 Branch 클릭 - New Branch 팝업에서 아래와 같이 이름적고 Create Branch - 브랜치 생성됨을 확인 2. 소스코드 편집하고 Commit 까지 해보자 - 소스 내용에 일부러 Branches 문자를 넣었다. 3. 이제 Master에 브랜치 를 병합해보자 - 브랜치가 선택된 상태에서 ( 브랜치..
12. Conflict 충돌 - Git_Local : 소스 코드 7번째 줄 라인을 수정 => 커밋이후 원격으로 Push- Git_Clone : 소스 코드 7번째 줄 라인을 수정 => 커밋이후 원격에서 로컬로 Pull ( 결과 ) - Pull 하여 소스 병합할때 같은 소스 라인이 수정되었기 때문에 충돌이 일어난다. - 충돌 부분을 수동으로 해결한 다음 직접 Commit 해야한다. 1. 충돌 해석 - '======' 을 기준으로 > code : 병합하려는 대상 여기에서 직접 수동으로 소스 수정하고 저장해야한다. - 소스 수정이 끝났으면 Resolve conflicts > Mark Resolved 하여 해결했음을 알린다.
10. 버전 이력을 특정 시점 이후 삭제하기 (소스는 현재 상태 유지) - Reset - 버전 이력 리스트에서 특정 시점을 기준으로 이후 After를 삭제하기 ( 는 9번 글과 같지만 ) - 주의!! 이번에서 설정하는 옵션을 통해서 Working Copy 의 소스 내용은 최신을 유지 - Reset - Mixed 용어로 기능을 이해 1. 기준이 될 특정 시점의 이력 선택 - 선택하고 마우스 우클릭 하면 Reset Current branch to this commit 항목 클릭 - Using mode : Mixed - keep working copy but reset index 항목 클릭 2. 선택 된 시점 이후의 이력 리스트가 삭제 되었다. - 차이점! 그러나 이전 내용과 다르게 소스는 현재의 내용이 유지..
9. 버전 이력을 특정 시점 이후 삭제하기 (소스도 이전내용으로 변경) - Reset - 버전 이력 리스트에서 특정 시점을 기준으로 이후 After를 삭제하기- Working Copy 내용도 이전 시점으로 되돌아 간다.- Reset - Hard 용어로 기능을 이해 1. 기준이 될 특정 시점의 이력 선택 - 선택하고 마우스 우클릭 하면 Reset Current branch to this commit 항목 클릭- Using mode : Hard - discard all working copy chages 항목 클릭 2. 선택 된 시점 이후의 이력 리스트가 삭제 되었다. - 주의! Reset 기능은 매우 강력하기 때문에, 곧 이어지는 내용중 Revert 기능이 안전 할 수 있다.
8. 작업한 소스내용을 이전으로 되돌리기 - Discard - 소스안에서 테스트하거나 키를 잘못누르거나 등등 소스변경된 내용이 저장되어서 Working Copy 에 소스 추적이 떴지만 이전 소스 내용으로 되돌리고 싶을 때 - Discard 기능을 통해서 이전으로 되돌릴 수 있다. 1. 소스의 내용을 수정하고 Working Copy에 소스 갱신이 되었다. - 소스 수정 내용은 여기서 화면 캡쳐가 없다. 임의로 아무렇게나 수정하고 저장하자 - Working Copy에 소스 갱신된다. ( '...' 표시가 추적됨을 의미한다 ) 2. Discard 로 되돌리기 - 상단의 Discard 버튼 클릭 - 이전 내용으로 되돌릴 소스 선택 창 뜨는데 여기서 소스 하나밖에 없으므로 v 체크하고 Discard Changes..
7. 다시 로컬 Git_Local 에서 Push하면 에러가 난다 - Git_Local 에서 작업하다가 원격 Github 로 동기화했고 - Git_Clone 탭을 새로만들어서 원격 내용가져와서 동기화했다 - 또한 Git_Clone에서 소스를 수정하고 Push를 통해 Github에 반영했다 ( 문제 ) - Git_Local 에서는 아직 원격저장소의 내용이 반영 되지 않은 상태이다. 그러면 Git_Local에서 소스수정을 하고 원격으로 Push하면 어떻게 될까? ( 결과 ) - Git_Local과 Github 버전이 서로 다르므로 에러가 난다. - Pull 개념으로 이를 해결해보자 1. Git_Local 에서 소스를 수정한다. - 테스트용 이므로 아무내용이나 작성 - 주석에 한줄 추가했다 2. Commit -..
6. 원격에서 로컬로 Clone 하기 - Clone 하는 상황 : 원격의 소스를 로컬로 가져올때 Clone 한다. 1. Clone 기능 사용기 - File > Clone / New 선택- 아래 그림처럼 첫번째 박스에는 원격 URL 입력하고- 밑에는 Clone 저장소 ( 여기서는 Git_Clone 으로 이름지었다 ) 선택- Clone 버튼 눌러서 완료 2. 클론 탭이 생성되었다 - Clone 탭 생성되었다는 의미는 원격저장소 소스를 복제해서 가져왔다는 의미이다. 3. Clone 의 소스를 수정해 보자 - Git_Local 과 마찬가지로, 소스 더블클릭해서 주석 내용을 바꿔보자 - 바뀐 주석의 내용은 아래와 같이 'var ver ... ' 부분 이다. 4. 바뀐 내용을 Git_Clone에 커밋해보자 - 소스..