지옥에서 온 Git

branch 정보확인

수업소개

여기서는 브랜치 간의 차이점을 비교하는 방법에 대해서 소개합니다.

수업

수업에서 사용한 명령어

브랜치 간에 비교할 때

git log "비교할 브랜치 명 1".."비교할 브랜치 명 2"

브랜치 간의 코드를 비교 할 때 

git diff "비교할 브랜치 명 1".."비교할 브랜치 명 2"

로그에 모든 브랜치를 표시하고, 그래프로 표현하고, 브랜치 명을 표시하고, 한줄로 표시할 때 

git log --branches --graph --decorate --oneline

댓글

댓글 본문
  1. eunso
    완료
  2. 박병진
    2021.02.06 완료
  3. supernet
    완료!!
  4. 초간단
    [master브렌치]
    commit메세지 1,2나오도록 텍스트파일 만들거나 편집해서 add+commit함.
    $git branch exp 로 exp 브랜치 하나 만들자.
    [exp브렌치]
    exp브랜치로 체크아웃하고, exp브랜치안에서 commit메세지 3,4 만들
    (그 전까지의 master브렌치의 내용(commit메세지 1,2)는 이미 포함되있어서 바로연결됨)

    그 후, master브렌치로 다시 체크아웃하고, commit메세지 5가 나오도록 하자.


    ( 현재까지의 구조 )
    master : 1 - 2 - 5
    exp : 1 - 2 - 3 - 4
  5. 초간단
    $git log master..exp 를 예로들면,
    master에는 없고 exp에 있는걸 나타낸다.
  6. PassionOfStudy
    git에서 branch간의 차이점을 알아내는 방법에 대해서 학습했습니다.
  7. nani
    저도 맥에 소스트리를 설치했습니다만
    어떻게 터미널에서
    stree라는 명령어로
    실행시키는건지 알수있을까요?
  8. software.lee
    감사합니다.
  9. gale.hyeanwoo
    커맨드라인에 익숙하지 않아서 GUI프로그램만 썼었는데 커맨드라인을 써보면 써볼 수록 좋다는 것을 느끼고 있습니다.
    아주 조금의 차이일 수 있겠지만 GUI프로그램으로 페치,풀링, 커밋 등의 작업을 하면 기다리는 시간이 종종 아깝게 느껴지는데 커맨드라인은 순식간에 끝내버려서 작업 효율이 높아지는 것 같습니다. 얼른 마스터해야겠습니다. 좋은 강의 항상 감사합니다.^^
  10. Git이 믿어지지 않을만큼 어렵다는 것은 효용성에 대한 대가 때문이다.

    git log <enter> => 현재 브렌치의 commit 정보를 보여준다.
    git log --branches <> => 모든 브렌치의 commit 정보를보여준다.
    git log --branches --decorate <>
    git log --branches --decorate --graph <> 모든 브렌치의 commit 관계를 그래프형태로 보여준다.
    git log --branches --decorate --graph --oneline <> 모든 브렌치의 commit 관계를 한줄로 관계를 보여준다.

    git log <branch_1>..<branch_2> <> 2개의 브렌치 비교
    git log <breach_2>..<branch_1> <> 2개의 브렌치 비교
    git log -p <branch_1>..<branch_2> <> 2개의 브렌치 비교

    git diff <branch 1>..<branch 2>
  11. 오빠는다르다
    감사합니다-!!
  12. 김수현
    브렌치를 만들면 상당히 복잡해지고 > 믿어지지 않을 만큼 어렵다가 됨
    효용에 대한 댓가에서 오는 것 아닌가 하는 느낌임
    브렌치를 만들었을 때 현제 어떤 상황인지 판단할 수 있게 하기 위한 여러가지 확인 방법들을 살펴보자
    지금 어떤 상황이냐하면
    git branch
    브랜치들이 나오고 > 차이점을 확인할 때는...(0:50) >
    git log
    이것 만으로는 뭐가 master고 뭐가 baranch인지 확인이 안됨
    git log --branches하면 모든 저장소를 보여줌
    git log --branches --decorate
    뭐가 추가 되나요?
    (master)/(exp)라고 나옴 > 버젼뒤에 브렌치이름이 나옴 > Head:현제브렌치에 checkout되었다를 나타냄
    나중에 Head는 깃의 원리를 보시면 Head라는 파일이 있고 현제 브렌치가 exp라고 적혀 있음
    알어도 되고 몰라도 되지만 나중에 원리 수업에서 알게 됨
    q를 하고 나가 겠습니다.(윈도우에서는 그렇게 하지 않음-그냥 그자리에서 다음 명령 대기 상태임)
    조금더 고도화를 시켜서 조금 더 편하게 하려면
    git log --branches --decorate graph
    빨간색으로 줄이 생김
    이 상태에서는 잘 들어나지 않음 (각자의 길을 걷고 있을 때 드러남. 지금은 master가 변하지 않은 상태임)
    그러면 master도 새로운 커밋을 만들어보자(3:25)
    git checkout master
    vim f3.txt라고 해서 파일을 만들자 > a라고 적고 > 서밋을 만자(git add f3.txt > git commit -m "5")
    git log > 1,2,5만 나옴
    기본적으로 현 브렌치에 대한 커밋만 보여줌
    git log --branches (모든 브렌치를 보여주고 뭐가 뭔지 구분이 안됨)
    git log --branches --decorate --graph
    이제야 효용이 드러남
    2라는 곳에서 exp가 분기 되었다는 것이 보여짐
    그런 형태를 graph라는 것을 볼 수 있음
    그리고 q로 나가보자(윈도우와 다름)
    그리고 화살표기 위로 가는 것 누르면 이전 명령이 나옴
    git log --branches --decorate --graph --oneline까지 해주면 > 한줄로 요약해서 현 상태를 보여줌(6:12)
    전체적인 상황을 조망해 볼 수 있게 됨
    다시 q해서 나감(윈도우<>)
    그리고 git에서 컴멘드라인을 쓰는 이유는 가치가 있기 때문
    모든 면에서 좋은 것은 아님
    무엇을 하고 싶냐에 따라 적절한 것을 선택할 필요가 있음
    소스트리라고 하는 gui형태의 프로그램이 깔려 있음
    그 프로그램을 실행할 때는 stree(7:10) > 현제 디렉토리 저장소가 소스트리라고 하는 git의 gui로 나타남
    그렇게 나타난 결과가 이것임(7:26)
    (8:4) 버젼과 버젼의 차임점을 비교할 때는...
    git log master..exp사이에 차이점이 무엇이냐
    master에 없고 exp에 있는 것들을 표시해줌
    반대로 git log exp..master라고 하면 > exp에 없는 master에만 있는 것을 보여줌
    만약 소스코드까지 필요한 경우(8:50)
    git log -p master..exp
    (9:30) git diff master..exp
    앞에 있는 것이 master고 뒤에 있는 것(아래) exp임
    이렇게 브렌치를 나누는 방법
    브렌치의 차이점을 비교하는 방법
    살펴봤음
  13. chancoke
    ==macOS Sierra에서 'stree'로 SourceTree 실행 시키는 법==
    터미널에서
    alias stree='/Applications/SourceTree.app/Contents/Resources/stree'
    위 명령어 입력 후 엔터
    =========================================
  14. timeisnow00
    stree 라는 명령어를 윈도우환경에서 사용하려면 환경변수에 어느 디렉토리를 지정해야 하나요?