ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 팀프로젝트 협업툴 Github
    Git 2024. 9. 12. 18:42

    팀프로젝트 협업툴 Github

     

    실수로 git add . 까지 했는데 취소하고 싶을 때

    git reset

     


     

    커밋 되돌리기

     

    • 최근 커밋 되돌리기
    git revert <커밋 해시>

     

    • 모든 커밋 되돌리기
    # 특정 커밋으로 되돌리기
    git reset --hard <커밋 해시>
    # 원격 저장소 강제 업데이트
    git push --force

     

    ✋ 주의: 강제로 푸시하는 것은 다른 팀원에게 영향을 줄 수 있으니 주의가 필요하다. 반드시 이야기하고 해야함.

     


     

    커밋을 잘못 리셋한 경우, 이전 상태로 복원하고 싶을 때

    git reflog
    git reset --hard HEAD@{0}

     

    *HEAD@{0} 괄호 안의 숫자가 0 이면 가장 최근 커밋을 뜻하는거다.  

     


     

    최신 commit을 취소하고 작업 내용을 수정하거나 저장하고 싶을 때

     

    •  최신 커밋과 관련된 모든 변경 사항을 삭제 (작업 내용 손실됨)
    git reset --hard <커밋 해시>

     

    • 최신 커밋을 취소하고 변경 사항을 스테이징(add) 상태로 유지
    git reset --soft <커밋 해시>

     

    • 최신 커밋을 취소하고 변경 사항을 언스테이지( add 안한 상태) 상태로 유지
    git reset --mixed <커밋 해시>

     


     

    커밋 해시가 뭔데??? 🤔

     

    Git에서 '커밋 해시'각 커밋을 고유하게 식별하기 위한 고유한 문자열이다. Git이 각 커밋을 추적하고 관리하는 데 사용된다.

     

    커밋 해시 확인

    # 최근 커밋의 해시 확인
    git log --oneline

     

     

    해보면 이렇게 맨 왼쪽 노란색으로 나오는게 커밋해시다.

     

     

    만약, 커밋의 변경 사항 확인하고 싶으면

    git show a614c91

     

    이렇게 변경사항 확인이 가능하다👍

     


     

    마지막 커밋의 메시지를 수정하고 싶을 때

    git commit --amend -m "수정하고 싶은 커밋 메시지"

     

     

    현재 작업 내용을 잠시 임시 저장하고, 다른 브랜치에서 작업한 후 다시 복원하고 싶을 때

    git stash
    git stash pop  # 최근 stash 복원
    git stash list  # stash 목록 보기
    git stash apply stash@{2}  # 특정 stash 복원
    git stash drop stash@{2}  # 특정 stash 제거

     

     

    github 레포지토리에 브랜치 이름을 다르게 해서 올리고 싶을 때

    git push origin 로컬 브랜치명:원격 브랜치명

     

     

    ✍️ 예를 들어, 로컬에서 branch_login 브랜치원격 저장소에는 branch_signin 으 push하고 싶을 때,

    git push origin branch_login:branch_signin

     

    ↑ 이렇게 하면 된다.

     


     

    이건 다 알겠지만..

    여러사람이 동시에 같은 파일을 수정하면 충돌이 발생한다. git status로 현재 상태 및 충돌 파일 등을 확인 하면 된다. 

    git status

     

    로컬 브랜치와 원격 브랜치의 상태가 다를 때

     

    1. 원격 브랜치 먼저 확인 : git fetch로 원격 저장소의 변경 사항을 가져오고

    git fetch

     

    2. git pull로 원격 브랜치와 로컬 브랜치 동기화

    git pull

     

    3. 충돌 해결해주기

     

     

Designed by Tistory.