ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git 명령어 모음
    Git&GitHub/Git 사용방법 2022. 5. 18. 11:33
    728x90

    git 명령어 모음입니다.

    찾을 때 적당히 ctrl + f 하셔서 키워드로 검색하시면 대부분 나올겁니다.

    헷갈릴 때 찾아보세요

     

     

     

    $ git //git명령어 일람
    $ pwd // 현재위치 경로
    $ls //현재 디렉토리 안의 파일과 디렉토리 확인
    -----------------------------------------------------------
    ls명령 옵션모음
    -----------------------------------------------------------
    -a //숨김파일과 디렉토리도 함께 표시
    -l //파일이나 디렉토리의 상세 정보를 함께 표시
    -r //파일의 정렬 순서를 거꾸로 표시
    -t //파일 작성 시간 순으로 (내림차순)표시
    -----------------------------------------------------------
    $ cd //디렉토리 이동 
    ex) $ cd .. //상위 디렉토리로 이동

    하위 디렉토리로 이동할 때에는 $ cd 하위디렉토리명 의 방식으로 이동한다.
    ex) $ cd Users

    $ cd ~ //처음 시작한 홈 디렉토리로 이동

    --------------------------------------------------
    리눅스에서 디렉토리를 나타내는 기호
    -----------------------------------------------------
    ~ //현재 접속중인 사용자의 홈 디렉토리. 사용자 디렉토리라고도 한다.
    ./ //현재 사용자가 작업중인 디렉토리.
    ../ //현재 작업중인 디렉토리의 상위 디렉토리.
    ---------------------------------------------------------

    $ mkdir 디렉토리명  //디렉토리 작성
    $ rm -r 디렉토리명 //디렉토리 삭제 -r 명령어는 하위 파일과 디렉토리도 함께 삭제한다는 뜻.

    $ vim test.txt //test.text라는 문서가 있으면 그 파일을 열고 아니면 새로 만들어짐.
    $ vi로 써도 된다.
    vim상에서는 글이 바로 써지지 않는다. i나 a를 눌러서 편집모드로 만들어서 글을 작성해야함
    esc를 누르면 편집모드 종료..
    편집모드가 아닌 상태에서 :wq 하면 저장하고 종료된다.
    -----------------------------------------------------------------------------------------------
    빔 ex모드 명령모음
    -----------------------------------------------------------------------------------------------
    :w 또는 :write //편집중인 문서를 저장
    :q 또는 :quit //편집기를 종료
    :wq //편집중이던 문서를 저장하고 종료. 파일이름을 함께 입력하면 그 이름으로 저장
    :q! //문서를 저장하지 않고 종료. 확장자가 .swp인 임시파일 생성됨.
    -----------------------------------------------------------------------------------------------
    깃에서 기본 편집기 변경

    $ git config --global core.editor "notepad++" //노트패드로 기본 편집기 변경
    -----------------------------------------------------------------------------------------------
    -----------------------------------------------------------------------------------------------
    cat 명령으로 실행할 수 있는 여러 기능들
    -----------------------------------------------------------------------------------------------
    $ cat test.txt //터미널 창에서 test.txt 파일의 내용을 보기
    $ cat 파일1,파일2... 파일n>새파일 //파일n개를 차례로 연결해서 새로운 파일을 만들기
    $ cat 파일1>>파일2 //파일1의 내용을 파일2끝에 연결.
    -----------------------------------------------------------------------------------------------
    $ git init //깃을 사용할 수 있도록 디렉토리 초기화. 이걸 하면 .git이라는 디렉토리 생성됨

    $ git status //깃 상태 확인
    $ git add hello.txt //깃에서 스테이징
    스테이징 하면 warning: LF will be replaced by CRLF in hello.txt. 라는 메시지가 뜬다.
    이것은 리눅스의 개행문자와 윈도우의 개행문자가 달라서 생기는 일인데, 
    깃에서 자동으로 텍스트 문서의 CRLF문자를 LF문자로 변환해서 커밋할 것이라는 의미이다.
    사용자가 신경쓸 문제는 아니므로 메시지의 뜻만 알고 넘어가자.

    $ git commit -m "message1"
    //깃에서 파일을 커밋.. -m 옵션으로 커밋과 함께 저장할 메시지를 적을 수 있다.
    보통 버전을 메모하는듯 하다.

    ##commit 하기전에 자신의 이름과 이메일이 등록되어있지 않으면 
    **pleae tell me who you are.라는 메시지가 뜨면서
    Run

      git config --global user.email "you@example.com"
      git config --global user.name "Your Name"
    같은 문구가 뜨는데 위의 같이 명령어로 자신의 이메일과 이름을 등록하면
    제대로commit 된다.

    $ git commit -am "message2"
    //커밋과 스테이징을 한번에 처리 가능. 
    단, 한번이라도 커밋한 적이 있는 파일을 다시 커밋할때만 사용가능..

    $git log //저장소에 저장된 버전 확인.

    ----------------------------------------------------------------------------
    버전 관리 중인 디렉터리 안에 버전관리를 하지 않을 특정 파일 또는 디렉터리가 있다면
    .gitignore파일을 만들어 목록을 지정할 수 있다. 
    빔을 사용하여 .gitignore파일을 만들어 그 안에 버전관리하지 않을 파일 또는 디렉토리 이름이나 
    파일 확장자 이름을 입력하면 된다.
    주로 개인적으로 메모해놓은 파일이나 프로그램 사용중에 자동으로 생성된 swp파일, 백업 파일 등이 이 목록에 포함
    ex)
    mynote.txt
    temp/
    .swp

    --------------------------------------------------------------------------------
    방금 커밋한 메시지 수정하기

    $ git commit --amend

    --------------------------------
    작업 트리에서 수정한 파일 되돌리기

    $ git checkout -- 파일명

    -----------------------------------

    스테이징 되돌리기

    $ git reset HEAD 파일명

    ------------------------------------

    최신 커밋 되돌리기

    $ git reset HEAD^

    ----------------------------------
    reset 명령 옵션

    --soft HEAD^ //최근 커밋을 하기 전 상태로 작업트리를 되돌림
    --mixed HEAD^ //최근 커밋과 스테이징을 하기전 상태로 작업트리를 되돌림. 옵션없이 git reset 명령을 사용할 경우 이 옵션을 기본으로 작동
    --hard HEAD^ //최근 커밋과 스테이징, 파일 수정을 하기 전 상태로 작업트리를 되돌림. 이 옵션으로 되돌린 내용은 복구할 수 없음.

    --------------------------------------
    특정 커밋으로 되돌리기

    $ git reset --hard 커밋이름 // 해당 커밋 이후의 커밋은 전부 삭제되면서 해당커밋을 최신커밋으로 되돌린다.

    ------------------------------------
    삭제하지 않고 최근 커밋 취소하기

    $ git revert 커밋이름 //삭제되지 않고 보류된 상태이며 이 명령어 실행 후 최신커밋을 실행해보면 그 전의 커밋이 최신 커밋으로 되어 있는 것을 볼 수 있다.
    -----------------------------------
    브랜치 만들기

    $ git branch 브랜치명
    $ git branch //브랜치 확인. *표시는 해당 브랜치에서 작업하고 있다는 의미.

    --------------------------------------

    $ git log --oneline //--oneline옵션은 한줄에 한 커밋씩 나타내주기 때문에 커밋을 간략히 확인할 때 유용하다.

    -----------------------------------------

    다른 브랜치로 이동

    $ git checkout 브랜치명

    -----------------------------------------

    **브랜치를 가르기 전까지의 파일까지는 동일하지만, 브랜치를 가르고 난 후에는 master에서 커밋을 해도
    브랜치에 영향이 가지 않는다.**

    -------------------------------------------
    $ git add .  // 현재 저장소에서 수정된 파일을 한꺼번에 스테이지에 올린다.
    -----------------------------------------
    $ git log --oneline --branches //--branches 옵션을 사용하면 각 브랜치의 커밋을 함께 볼 수 있다.
    $ git log --oneline --branches --graph // --graph 옵션을 사용하면 커밋과 커밋 사이의 관계를 보여주는 점선을 같이 보여준다.
    ---------------------------------------------

    $ git log master..브랜치명 //마스터 브랜치와 다른 브랜치 사이의 차이점을 확인가능.. 마스터에는 없고 다른 브랜치에만 있는 커밋을 보여준다.

    ---------------------------------------------

    브랜치 병합

    $ git merge 브랜치명 //병합은 master에서만 가능하다. 
    //브랜치간에 같은 이름의 파일도 자연스럽게 하나의 파일에 합쳐준다.


    -----------------------------------------
    **깃에서는 줄 단위로 변경여부를 확인
    *** 같은 줄에 작성된 경우에는 병합충돌이 일어난다.
    ****병합 충돌 및 해결프로그램을 쓰도록 하자.(P4Merge,Meld,Kdiff3,Araxis Merge)

    --------------------------------------------
    병합이 끝난 브랜치 삭제

    $ git branch -d 브랜치명 //master에서 실행해야 한다.

    --------------------------------------------
    ** $ git checkout 명령을 사용하면 HEAD를 제어해서 브랜치를 이동가능.
       $ git reset 명령을 사용하면 HEAD가 가리키고 있는 브랜치의 최신커밋을 원하는 커밋으로 지정가능
        어떤 브랜치에 있는 커밋이든 지정할 수 있으며, 명령을 수행한 뒤 브랜치와 연결이 끊긴 커밋은 삭제됨.

    ------------------------------------------------

    $ git stash
    //작업중에 다른 작업물을 급히 커밋해야 할때 작업중인 작업물을 잠시 status에서 감춤

    $ git stash list //감춘 파일들의 목록 확인 가능.

    $ git stash pop //감춰둔 파일을 꺼냄

    $ git stash apply //저장된 수정 내용을 나중에 또 사용할지도 모를 때 사용. stash목록에서 가장 최근 항목을 되돌리지만 저장했던 내용은 그대로 남겨둔다.

    $ git stash drop //stash목록에서 가장 최근 항목을 삭제

    -------------------------------------------------------

    728x90

    댓글

Designed by Tistory.