본문 바로가기
반응형

프로그래밍 개발/GIT10

GITHUB+sourceTree - 스태시(Stash) 스태시(Stash) 작업 중인 내용을 삭제안하고 임시 저장할 수 있도록 할 수 있게하는 기능이다. 사용 순서 1. 스태시를 만든다. 2. 이 때 주의 할 점이 스테이지에 오르지 않았던 새로운 파일이 있었다면 스테이지 인덱스에 올려 추가한다. 3. master로 체크아웃한다. 4. master로 되돌아 온다. 5. 다시 스태시를 통하여 임시 저장에서 불러 온다. 6. 커밋하도록 수정하여 새로 커밋한다. 스태시 테스트를 위해 새로운 커밋을 하였다. 그리고 STASH라는 이름으로 새로운 브랜치 또한 만들고 master에서 체크아웃한다. 커밋하지 않고 싶지 않아 의미가 없어진 변경사항이 이렇게 나타난다. 이때 만약에 외부의 요청때문에 체크아웃을 하고 다시 master 환경으로 돌아가고 싶지만 이렇게 커밋하고 싶.. 2020. 11. 23.
GITHUB+sourceTree revert로 여러 커밋 되돌리기 revert로 여러 커밋 되돌리기 바로 전 커밋 단계말고 여러 커밋 단계 전으로 돌아갈 수있다. 테스트를 위하여 커밋을 총 3번 연속으로 하였다. 다시 커밋1 때로 돌아가기 위하여 총 2개를 건너띄어 커밋 되돌리기를 해야하는데 이때 바로 커밋1으로 바로 가기 메뉴에서 커밋 되돌리기를 누르면 충돌 에러가 발생한다. 충돌을 피하기 위해서는 최신으로 커밋한 것부터 순서대로 revert를 반복 적용하면 된다. 최신으로 커밋한 것을 revert 하였으면 차례대로 그 두 번째로 커밋한 것을 다시 똑같이 revert하면 된다. 다시 처음에 했던 커밋1 상태로 되돌아 온 것을 확인 할 수 있다. 2020. 11. 20.
GITHUB+SourceTree revert를 사용해서 커밋 되돌리기 revert 사용해 보기 대상 커밋을 HEAD커밋의 자식으로 새로 생성한다. 리버트를 이용한 되돌리기를 테스트하기 위해 위의 코드를 커밋하였다. 첫 번째 커밋이 끝난 후 위의 코드처럼 추가 수정하여 두 번째 커밋을 하였다. 그리고 두 번째 커밋의 바로 가기 메뉴에서 '커밋 되돌리기'를 클릭하여 되돌리기를 실행한다. 위와 같이 왼쪽 끝에 Revert라고 붙은 후 다시 첫 번째로 커밋 했던 상태로 돌아가게 된 것을 확인 할 수 있었다. 주의사항 revert 대상 커밋은 사라지지 않는다. (충돌 가능성 높아짐) revert 대상 커밋의 내용을 되돌린 새로운 커밋이 생겨난다. (충돌 가능성 높아짐) 장단점 장점: 이전 커밋 기록이 다 남아 있다. 단점: 충돌 날 가능성이 매우 높다. 다소 어렵다. 2020. 11. 16.
GITHUB+sourceTree 브렌치를 만들어서 커밋 되돌리기 브렌치를 이용한 커밋 돌리기 실핼 순서 되돌릴 커밋 대상으로 브랜치 생성 체크아웃 변경 사항 수정 후 커밋 master에 머지 장단점 장점: 쉽다. 기록이 다 남아 있다. 단점: 트리가 지저분해진다. 테스트를 위해 임의 텍스트 코드를 적고 커밋하였다. 그리고 테스트를 위해 방금 전 커밋한 텍스트 코드를 수정하여 다시 커밋하였다. 다시 처음에 커밋했던 곳으로 되돌리기 위하여 되돌리고 싶은 커밋에 바로가기 메뉴에서 브렌치를 클릭하여 생성한다. 생성한 브렌치로 체크 인 하자 다시 처음 커밋했던 상태로 돌아가게 되었다. 결국 이 상태에 코드의 변경 사항 수정 후 커밋 하고 수정한 코드를 master에 방영하기 결정한다면 master 브렌치로 돌아가 master를 푸시 후 생성한 다른 브렌치에서 수정한 코드와 머.. 2020. 11. 13.
GITHUB+sourceTree reset을 이용한 커밋 되돌리기 커밋 되돌리기 바로가기 마우스 오른쪽 버튼=>git reset =>hard 에 해당하는 명령으로 커밋을 되돌릴 수 있다. reset 이후 push는 force 옵션을 선택해야한다. 이전 커밋은 사라진다. push --force 는 소스트리에서 지원하지 않기 때문에 CLI를 이용해야 한다. reset의 장단점 장점: 쉽다 단점: 커밋이 날아간다. push --force 가 필요하다. 직접 reset 해보기 위의 코드들 중 왼쪽부터 오른쪽으로 순서대로 둘 다 한 번씩 각각 커밋을 해준다. 브렌치의 master로 돌아가보면 되돌리기 테스트 1,2가 생성된 것을 볼 수 있다. 지금 현재 상태는 되돌리기 테스트 2 상태이다. 이때 맨 처음 커밋했던 되돌리기 테스트1으로 되돌리기를 위해 바로가기 메뉴에서 이 커밋까.. 2020. 11. 9.
GITHUB+sourceTree 브렌치 pull 및 충돌 해결 브렌치 충돌 발생 상황 상황1. 합치려는 브랜치가 헤드 브랜치로부터 시작되었다. 그 사이 헤드 브랜치에는 전혀 갱신이 없었다. 위 그림은 헤드 브랜치(*이 붙어 있는)인 master에서 version2가 시작되고 두 번 커밋한 상태이다. 여기서 병합을 하면 단순하게 master 브랜치가 가르키는 커밋이 version2의 커밋으로 이동한다. 이런 상황을 fast-forward 라고 한다. 단순히 브랜치의 참조만 갱신되는 상황이라고 볼 수 있다. 상황2. 과거의 커밋으로부터 브랜치를 생성해서 작업을 한 경우 새로운 브랜치 작업 이후에 헤드에 다른 새 커밋이 있는 경우 여러 브랜치를 동시에 작업하면서 병합을 시도할 경우 이 경우에도 기본이 되는 헤드 브랜치에서 타겟 브랜치를 병합하면 되긴 하는데, 이 때 여러.. 2020. 11. 9.
GITHUB+sourceTree 브렌치 병합(merge) 병합이란? 하나의 브랜치를 현재 브랜치와 합치는 것을 병합(merge)라고 한다. 현재 브랜치는 헤드(HEAD) 브랜치라고 한다고 한다. 예로 들어 보자면 헤드 브랜치가 master 환경이고 여기서 따로 만든 브랜치를 병합하면 따로 만든 브렌치의 내용이 master 환경에 반영되게 된다. 일단 헤드인 master 환경에서 "브랜치 병합"이라고 써주고 저장 후 커밋해준다. 브랜치를 보면 브렌치 병합의 내용으로 커밋된 정보를 확인할 수 있다. 이제 master 환경을 빠져나가 따로 만들어둔 "브렌치 병합" 텍스트를 넣지 않은 환경의 브렌치테스트 환경의 브랜치로 이동한다. 이렇게 위의 코드를 보면 현재의 브렌치 테스트 환경의 파일은 아직 아무것도 수정되지 않는 환경인 것을 확인할 수 있다. 그리고 현재 환경에.. 2020. 11. 6.
GITHUB+sourceTree 브렌치(branch) 하기 브렌치란? 브랜치 (branch)는 이미 돌아가고 있는 프로그램에서 기능을 바꾸고 싶은 일이 생길 수 있는데 그럴 때 다시 돌아가서 다시 할 수 있게 하는 것이 브랜치 기능이라고 할 수 있다. 가상의 작업 환경을 구간별로 설정할 수 있다고 말할 수 있다. 브렌치 테스트를 위한 프로젝트를 저장하고 커밋하고 푸시하여 깃허브 사이트에 보내었다. 소스트리 왼쪽을 보면 브랜치-master라고 적혀있는 것을 볼 수 있다. master을 더블 클릭하면 브렌치를 볼 수 있다. 방금 커밋 푸시한 위의 프로젝트에 대한 브렌치를 master을 더블 클릭하여 보면 맨 위의 가장 최신의 수정된 브렌치에 저장되어 있는 상태를 확인 할 수 있다. 브렌치의 효과를 보기위해 같은 프로젝트의 코드를 위에 처럼 수정 변경하여 다시 커밋하.. 2020. 11. 6.
GITHUB+sourceTree 변경 사항 취소하기 checkout을 이용해서 저장하지 않은 변경 내용 취소하기 커밋은 변경사항을 내 컴퓨터에 저장하는 것이고, 푸시는 깃헙 서버에 업로드하는 것이다. 이때 실수로 마지막 세이브로 돌아가기를 원할 때 git에서는 checkout 이라는 명령을 통해서 가능한다. 변경 사항 저장하기 먼저 커밋하고 난 상태에서 아무 파일이나 열고 수정하는 의미로 입력한다. 되돌리기 변경사항에서 되돌릴 파일을 선택하고 "코드 뭉치 버리기" 를 선택한다. 코드 뭉치 버리기를 실행하니 다시 처음으로 돌아오게 되었다. 2020. 11. 3.
GITHUB의 기본 및 사용하기 절차 github 가입 github 저장소 생성 github 저장소 클론 내 컴퓨터의 내 문서 아래에 생성된 프로젝트 디렉토리에서 파일 생성 및 작업 완료 커밋할 파일들 선택해서 스테이지에 올리기 (add) 커밋하기 (commit) 푸시하기 (push) github.com/내아이디/내프로젝트 링크를 통해 정상적으로 업로드 되어 있는지 확인 git 이란? 형상 관리 시스템(Verson Control System) 의 한 종류다. 주로 개발자들이 프로그램과 관련된 파일들을 저장하는 데 사용한다. 게임의 세이브 포인트와 유사한데, 언제든지 저장 시점으로 되돌아 갈 수 있습니다. 커밋 (commit) 게임의 세이브에 해당하는 행동을 git에서는 커밋이라고 한다. 다시 말해서 여러분은 언제든지 커밋한 시점으로 되.. 2020. 11. 3.
반응형