ABOUT ME

NO SILVER BULLET

Today
Yesterday
Total
  • 2022-07-26 : Git
    TIL ( Today I Learned ) 2022. 7. 26. 10:31

    * reflog, falsepush 같은건 쓰지 않는 것이 좋다!

     

    1. git status

        ㆍgit checkout -- '파일명' : 수정된 부분 원래대로 돌리기

        ㆍgit diff : 수정 부분 확인

     

    2. git add '파일명'

        ㆍgit rm --cached '파일명' : add 취소

        ㆍgit rm -rf '폴더명' : 폴더 add 취소 시

        ㆍ.gitignore : add 무시할 파일명, (커밋한 경우 해당 파일 삭제 후 gitignore파일 수정후 파일)

     

    3. git commit

        ㆍvim에디터 나오기 : esc → :w(write)q(quit)

        ㆍgit log : 커밋의 목록

        ㆍgit shortlog : 커밋메시지 목록

        ㆍ-m : 에디터 실행없이 커밋메시지 작성

        ㆍgit commit -m '커밋 메시지'

        ㆍ-a : add 해줌

        ㆍgit commit -am '커밋 메시지'

     

    4. git remote

        ㆍ명령어 뒤에 --help를 작성시 : 메뉴얼

        ㆍgit remote add origin 'URL' : github 등록

        ㆍgit remote get-url origin : URL 확인

     

    5. git push

        ㆍgit push origin(원격주소) master(브랜치)

     

    6. git pull

        ㆍgit pull origin master

     

    7. git reset : 로컬에서의 실수

        ㆍ과거로 되돌아간다. 

        ㆍgit reset HEAD~1 : 현재에서 하나 뒤로 되돌리고 싶다, 커밋취소, 커밋자체를 삭제

        ㆍHEAD : 현재 위치

        ㆍ--soft : 새 커밋에서 staged(add한 상태)로 이동

        ㆍ--mixed : 새 커밋에서 untracked(코드 변경한 상태) 이동, 기본

        ㆍ--hard : 새 커밋에서 기존커밋으로 이동, 수정한 것들 다 삭제( 권장 X )

                      git reset --hard : 변경내역들 삭제

        ㆍgit reset '커밋이름' : 해당 커밋으로 되돌아갈 수 있다 + 수정한 것들 다 삭제

     

     

    8. git revert : github push한 내용의 실수

        ㆍ실수를 되돌리는 것을 새로운 커밋으로 만든다.

        ㆍgit revert HEAD

        ㆍ실수한 내용이 남아있고 실수하기전으로 되돌리고 새로운 커밋을 날릴 수 있다.

        ㆍ원격서버에 push까지 했을때 revert를 쓰는 것이 좋다.

        ㆍgit revert '커밋id'

     

    9.git branch

        ㆍgit branch : 브랜치 확인

        ㆍgit branch '브랜치 이름' : 브랜치 생성

        ㆍgit checkout '브랜치 이름' : 브랜치 이동

        ㆍgit branch -D '브랜치 이름' : 브랜치 삭제

     

    10. git merge

        ㆍ받는 쪽에서 가지고 온다.

        ㆍgit merge '브랜치이름' ( master 브랜치에서 할 것 )

        ㆍ충돌 시 git status - both modified

        ㆍgit merge --abort : 머지 취소

        ㆍ반영하고 싶으면 add + commit

        ㆍmerge하면 Fast-forword : 기본, 앞으로 땡겨지는

     

    11. git rebase

        ㆍ받는 쪽에서 가지고 온다.

        ㆍgit rebase '브랜치이름'

        ㆍgit rebase --continue : 브랜치 가지를 한 줄로 만들어 버린다.

     

    12. git cherry-pick

        ㆍ브랜치의 커밋 전부다가 아닌 일부분까지만 가지고 오고 싶다.

        ㆍgit cherry-pick '커밋id'

     

    - git tag '태그이름' : 커밋id 대신 사용가능

     

    - git stash : 커밋하지않고 다른 브랜치로 이동하고 싶을 때, 임시저장

        ㆍgit stash list

        ㆍgit stash apply

        ㆍmaster에서 stash 한 것을 다른 브랜치에서 반영 가능

        ㆍgit stash drop : stash 지우기

     

    - git fetch : merge X

        ㆍpull을 하면 fetch후에 merge까지

        ㆍpull을 하면 로컬이 바뀌지만 fetch를 해서 원격과 로컬을 비교

     

    참고자료 : https://www.youtube.com/watch?v=cEg9hiZax8U&list=PLcqDmjxt30RvjqpIBi4mtkK5LkzYtXluF&index=1 


    0. git config --global user.name / git config --global user.email

    1. git init : 현재 디렉토리를 버전관리한다.

    2. git status

        ㆍUntracked files

    3. git add

        ㆍstage area : 커밋대기상태

    4. git commit

        ㆍ-a : add 등록

        ㆍ-m : 커밋메시지입력

     

        ㆍgit log

               -p : 커밋과 커밋사이의 소스 차이점 확인

                ㆍgit log '커밋id' : 해당 커밋id 이전 log 출력

        ㆍgit diff : 수정한 내용 출력(add 전)

                ㆍgit diff '커밋id'..'커밋id' : 두 커밋사이의 소스 차이점

    5. reset : 커밋취소(이후 파일들 삭제), 공유전(푸시전)에만 사용할 것!

    6. revert : 커밋취소(후 새로운 커밋)

    'TIL ( Today I Learned )' 카테고리의 다른 글

    2022-07-28 : Spring  (0) 2022.07.28
    2022-07-27 : 파일업로드 & buffer, 기타 등등  (0) 2022.07.27
    2022-07-25 : JAVA  (0) 2022.07.25
    2022-07-21 : Git  (0) 2022.07.21
    2022-07-18 : JS  (0) 2022.07.18

    댓글

Designed by Tistory.