ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git 명령어 및 사용 법
    IT_n_Programs 2019. 2. 17. 21:57

    ################ Git 명령어 및 사용 법... #####################

    ### cf. 출처를 모르겠어요. 잘 정리되어 있어서 가져왔어요 ~~ #######


    (1) git 로컬 저장소의 초기화
    $ git init


    (1-2) 원격 저장소에서 소스 가져오기
    $ git clone <주소>
    $ git clone
    http://(id):(passwd)@주소
    $ git clone http://(id):(passwd)@주소 -b [branch 명]         // 브렌치 소스를 clone 하는 명령어 옵션.

    (2) 수정한 파일을 index에 추가하기 (임시저장): 인덱스라는 것은 버퍼 같은 개념입니다. 임시저장소(?) 정도로 생각하면 됩니다.
    git 을 사용할 경우 소스를 고치면 최초에는 아무 곳에도 반영이 안된 상태입니다. 이 상태에서 add를 하면 index에만 추가가 됩니다.
    $ git add (파일명)


    (3) 디렉토리 제거 / 파일 제거 : 디렉토리를 제거하기 위해서는 git 명령으로 제거하는 편이 편합니다.
    $ git rm -r (디렉토리명)
    $ git rm (파일명)

    (3-1) 커밋하기 (실제 git에 반영): 커밋을 하면 인덱스에 있던 파일들만 저장소에 반영이 됩니다.
    $ git commit -m "해당 커밋에 대한 설명"

    (4) 디렉토리 상태 보기
    $ git status

    (5) git 이력보기
    $ git log
    // ex) git log -2 -p ;; 최신 수정사항 2개와 자세한 수정내용...
    // ex) git log -3 --name-only ;; 수정된 파일만 간략히 나옴...

    (6) 해당 커밋으로 돌어가기: 커밋번호는 git log 에 보면 나오는 번호이다.
    $ git checkout (커밋번호)

    (7) 바로 전 커밋 되돌리기: 최종 커밋을 완전히 없애고 그보다 한단계 전 커밋으로 돌아갑니다.
    $ git reset --hard HEAD^

    (7-2) !!! (권장하지 않음) git 되돌린 파일 원격에도 반영하기 : +만 붙이면 됩니다.

    (12) 번 참조, 권장하지는 않지만 매우 필요한 기능입니다. OTL..

    $ git push origin +master
    $ git push origin +(브랜치명)

    (8) 무시할 파일들 지정하기: .gitignore 파일에 추가된 파일은 git에서 자동으로 무시된다.
    예) .gitignore 에 .*.swp 를 추가: vim의 임시파일을 무시할수 있다.
    예) .gitignore 에 *.html을 추가: html 파일은 무시할수 있다.

    (9) 수정한 내용 무시하기: 변경한 내용들이 모두 무시되고 마지막 커밋으로 돌아갑니다.
    $ git reset --hard

    (10) branch 생성: 새로운 브랜치를 생성합니다. 브랜치는 나뭇가지라는 말처럼, 원래의 소스에서 가지쳐서
    다른 방향으로 가는 것입니다. 기본 브랜치는 master 브랜치입니다.
    # git branch [브렌치명] : 브렌치 명 이름으로 생성됨.
    # git branch [브렌치명] [start point] : 브렌치 명 이름으로 해당 start point 로 브렌치 생성됨.
    # git branch -a : 현재 모든 브렌치를 보여줌. * 붙은 branch 가 현재 activate 된 branch 임.
    # git branch -D [브렌치명] : // 해당 브렌치를 삭제함.

    (11) branch 바꾸기: 기존에 있던 브랜치로 바꿉니다.
    $ git checkout <기존의 브랜치명>
    $ git checkout [start point] // 해당 start point 로 돌아감.
    위 상태에서 git branch <브랜치명> // 해당이름으로 branch 됨.

    (12) 원격저장소에 마스터 브랜치 반영하기: git pull 하면 언제나 마스터 브랜치의 내용만 원격 저장소에 반영됩니다. 주의!
    $ git push

    (13) 특정 브랜치 반영: 특정 브랜치를 원격 저장소에 반영하기 위해서는 아래 명령을 입력합니다. 일반적으로
    원격저장소 이름은 origin 입니다.
    $git push <원격저장소명> <특정브랜치명>
    $git push origin <특정브랜치명>

    (14) 수정사항 비교   ====>>>  git diff 

    git diff #hash  #hash    // 특정커밋 비교

    git diff HEAD HEAD^      // 마지막커밋 과 바로이전 커밋 비교. 

    git diff HEAD             // 마지막 커밋과 현재 수정사항 비교. 


    (15) 기타 : 

    -- 작업 후 Git 이 지저분해진 상황에서 clean 하는 명령어
    git clean -d -f                 // 수정한 디렉토리 파일등을 모두 삭제.     

    git clean -f [파일명]          // 해당 파일을 삭제. 

    // error: Untracked working tree file '~' would be overwritten by merge. Aborting 발생
    시 대처.
      


    반응형

    'IT_n_Programs' 카테고리의 다른 글

    samba 계정 추가 및 변경 ~~  (0) 2019.02.17
    Open source License  (0) 2019.02.17
    PC의 HDD/SDD가 포멧이 안될 경우.  (0) 2019.02.06
    안드로이드 앱 개발01  (0) 2019.02.05
    linux : wc 명령어  (0) 2019.01.27

    댓글

Designed by Tistory.