Sourcetree

    revert로 특정커밋 하나 되돌리기

    일단 main을 checkout한 상태에서 revertest1을 만든다. 이런식으로 revertest1을 만들고 revertest1을 chekout한 상태에서 일단 충돌방지를 위해 3개의 새 파일을만들어서 커밋한다고 가정하자. 해당 소스 파일에는 각각 revert1 revert2 revert3 이렇게 내용이 적혀있다고 하자. revert2가 적힌 파일만 커밋 되돌리기 하고싶다면 그냥 revert2가 적힌 파일을 커밋한 것을 선택하고 - 우클릭 - 커밋되돌리기 하면 된다. 웬만하면 근데 충돌을 방지하기위해 최신순서대로 revert해주는 것이 좋다.

    Rebase를 사용해서 tree 정리

    rebase는 merge와 비슷하다. rebase는 두 branch를 합칠 때 사용한다. SourceTree에서는 "재배치"라는 명령이다. 장점 : 커밋 히스토리가 깔끔해짐 단점 : 잘못하면 위험. github에 올라갔거나 협업을 하고 있는 경우에는 매우 위험하다. rebase라는 branch를 만들어보자. 이렇게 대충 내용써주고 스테이지에 올리고 커밋도해준다. rebase를 checkout한 상태에서 main이 있는곳에 branch를 또 새로 만들것이다. etc에는 rebase 내용도 없다. 그러면 여기에 이렇게 쓰고 스테이지에 올리고 커밋을 해주자. 이렇게 두 갈래가 생긴다. 이제 merge를 해보자. etc와 rebase 둘 중에 하나만 fast forward가 가능하다. 일단 main을 check..

    stash를 이용한 작업 내용 저장

    자 이상태에서 test라는 branch를 만들어보자. 이렇게 브랜치를 만들어보자. 이상태에서 커밋을 아무거나 해보겠다. 뭐 이런 식으로 내용을 추가했다. commit하지 않은 변경사항이 생겼습니다. 스테이지에 올리고 commit해줍니다. 이렇게 써주고 커밋합니다. 이제 만약에 이렇게 적었다고 가정해보자. 커밋하지 않은 변경사항이 생겼다. 마지막 커밋(test 커밋) 과 현재 작업 디렉토리의 내용이 다르기 때문에 이런게 생긴 것이다. 이상태에서 main을 checkout하면 에러가 뜬다. 이 에러는 해당 프로그램에 버그가 생겨서 급하게 수정해야하는 상황에 흔히 볼 수 있다. 이러한 상황을 해결하려면 첫째, branch1에서 임시커밋을 하기 둘째, branch2에서 checkout을 하고 볼 일 보기 셋째,..

    Revert를 이용해서 여러가지 commit을 되돌리기

    revert로 쉽게 커밋을 되돌릴 수 있고 revert로 되돌리면 이전 커밋이 남기 때문에 좋다. SourceTree 에서는 커밋 선택 - 우클릭 - 커밋 되돌리기를 통해 Revert를 할 수 있었다. 이때 되돌아가고 싶은 위치를 선택해서 되돌아가는 것이 아니라, 되돌리고 싶은 커밋을 되돌리는 것이다. 즉 내가 파란색으로 선택한 커밋으로 되돌리고 싶다고해서 파란색으로 선택한 커밋을 우클릭 - 커밋 되돌리기를 하는 것이 아니라 이 친구를 우클릭해서 커밋되돌리기를 하는 것이다. revert로 여러 커밋을 되돌리는 법? 최신부터 순서대로 revert를 반복 적용하면 된다. main checkout한 상태에서 main을 클릭하고 브랜치를 만든다. 그리고 test1으로 파일을 하나 만들겠다. 내용은 이렇게 추가하..

    branch로 commit 되돌리기

    # ver 충돌 방지용만 적혀있었던 것에 내용을 추가해보겠다. 요런식으로 뜨는데 stage에 올리고 commit해준다. 커밋하였다. 저번에는 origin/main이 있는 곳으로 되돌아가려면 '이 커밋까지 현재 브랜치를 초기화' 이걸로 되돌아갔는데 이번에는 브랜치를 추가해서 되돌아갈 것이다. 일단 main을 checkout한 상태에서 origin/main이 있는 부분을 클릭한다. 그리고 오른쪽 마우스를 클릭한다. 이렇게 뜰텐데 브랜치를 눌러준다. 요렇게 적고 브랜치를 생성해보겠다. 자동으로branch가 생겼으며 자동으로 checkout까지 된 상태다. 다시 python으로 되돌아가보면 아까 추가한 내용이 없어져있다. 그렇지만 다시 main을 checkout하면 다시 나타나니 이점은 걱정할 필요 없다. 아무..

    충돌 방지

    SourceTree에서 pull에 숫자가 떠있는 경우가 있다. 주로 여러사람과 협업할 때 생겨나는 현상이고, 혼자서 작업하는 경우 이런 현상이 생기는 원인은 회사 컴퓨터에서 작업하고, 집에 와서 집 컴퓨터를 켰을 때 이런 현상이 생긴다. 이럴때 당황하지 말고 pull을 눌러주면 된다. 회사에서 수정한 파일이 집에 없기 때문에 그렇다. merge가 되었다면 추가했던 ver2.0 ver3.0 과 같은 branch는 삭제해도 괜찮다. 근데 pull할 때도 충돌이 날 수 있다. 충돌은 자연스러운 현상이므로 겁먹지 않아도 된다. 충돌의 예시를 들기위해 브랜치를 만들어보겠다. main에다가 브랜치를 만든다. confl을 checkout하고 이렇게 내용을 추가했다. 되도록 이렇게 한줄 띄고 저장해주는 것이 좋다. 스..

    브랜치

    브랜치 : 기능을 변경하고 싶을 때 생성 및 사용 즉, 기존 내용을 유지한 채 새로운 내용을 추가하고 싶을 때 사용한다. 이 상태에서 우클릭을 하면 이렇게 나오는데, 브랜치를 클릭하여 들어간다 그러면 이렇게 나오는데, ver2.0라고 쓰고 브랜치 생성을 해보자. 이렇게 되면 언제든지 이전 단계로 되돌아 갈 수 있다. 체크아웃 : 특정 브랜치(혹은 커밋)으로 돌아가고 싶을 때 사용. 소스트리의 체크아웃 : 브랜치 이름을 더블 클릭하는 것 만으로 체크아웃 가능. 이런식으로 브랜치를 설정한 파일을 열어 내용을 수정하거나 하면 이렇게 빨갛게 나온다. 한번에 하나의 '브랜치'에서만 작업을 할 수 있고 이것을 'Head 브랜치'라고 부른다. 다시 제대로 보시면 커밋하지 않은 변경사항이 생겼는데 이거를 스테이지에 올..

    깃허브 환경 구성하기

    Github 형상 관리 시스템의 한 종류로 개발자들이 프로그램과 관련된 파일들을 저장하는데 사용하는 것. 오픈 소스기반으로 전 세계 사람들과 공유할 수 있는 시스템이다. Github는 Git이랑 항상 같이 쓰이는데 Git은 복잡하고 어려울 수 있어 주로 SourceTree 혹은 GitKraken을 사용한다. 주로 Git 대체안으로 SoureceTree가 가장 많이 쓰인다고 한다. 일단 필수적으로 https://github.com/ 라는 사이트에서 회원가입을 해야한다. 이때 중요한 것은 한국 사이트가 아니라 외국사이트니깐 되도록이면 영어로 기입하는 습관을 들이자. 이상한 고집부리고 한글로 기입하는 행동은 하지마라. 나는 영어를 하나도 모르겠다 하는 사람 아닌이상 쉽게 회원가입이 가능하다. 사이트에 들어가서..