티스토리 뷰

Git

[Git] 협업하기

염두리안 2025. 1. 9. 15:10
728x90
반응형

git fetch: 머지는 하지 않고 가져오기만 함 | 리모트에 있는 브랜치 내용을 일단 가져와서 살펴본 후 머지하고 싶을 때 사용

git fetch

가져온 후 diff를 통해 차이점 알아보기

리모트 브랜치에 문제가 있을 때

  • 잘못된 코드를 추가한 담당자에게 직접 수정 요청
  • 잘못된 부분을 알아서 해결 후 git push 하기

누가 작성했는지 찾기

git blame [파일명]

 

이미 리모트에 올리간 커밋 취소하기

git revert [되돌아갈ID]

 

여러 커밋 취소하기

git revert [취소할시작ID]..[취소할ID]
// 이때, 취소할 시작 ID는 포함되지 않음
// [예시] ID기 다음과 같이 있을 땨,
// 8d8d...(생략)
// 9d11...(생략)
// 839d...(생략)
git revert 839d..8d8d
// 를 하면, 839d는 포함되지 않음

 

git reset 후 다시 되돌리기

// 히스토리 ID를 알고 있을 때
git reset [옵션] [ID]
// 히스토리 ID를 모를 때 ID 조회 후 위 명령어로 되돌리기
git reflog

 

커밋 히스토리 보기

// 다른 브랜치에 있는 히스토리도 보기 [--all]
git log --pretty=oneline -all
// [--graph] 커밋 히스토리가 각 브랜치와의 관계가 잘 드러나게 그래프로 출력
git history --all --graph

 

git rebase: 깔끔한 커밋 히스토리 보기

git rebase [브랜치명]
// 충돌이 발생해서 제대로 진행되지 못한 리베이스를 계속 진행할 때
git rebase --continue

 

작업 내용 임시 저장하기

  • git stash: 최근 커밋 이후로 작업했던 내용은 모두 스택에 옮겨지고, 워킹 디렉토리 내부는 다시 최근 커밋 상태로 초기화
    • 잘못된 브랜치에서 작업했을 때도 사용) git stash로 스택에 작업 내용 저장 → 올바른 브랜치로 가서 다시 git stash apply를 한다
git stash

// 스택에 잘 저장됐는지 보기
git stash list

// 스택에 저장된 작업 내용 불러오기
git stash apply [stashID]

// 작업 내용 스택에서 삭제
git stash drop [stashID]

// 작업 내용 적용과 제거를 동시에
git stash pop [stashID]

 

필요한 커밋만 가져오기

git cherry-pick [커밋ID]

 

여러 커밋을 하나의 커밋으로 만들기(불필요한 커밋 없애기)

  • HEAD는 이전 커밋을 가리키지만, 워킹 디렉토리는 그대로
git reset [--soft 또는 --mixed] [커밋ID]

 

git이 무시하는 파일

  • .gitignore : 워킹 디렉토리 내에 존재하는 파일 중에서 마치 존재하지 않는 것처럼 깃이 인식해야할 파일들의 목록이 적힌 파일 ~> 깃이 무시하는 파일들의 이름이 적혀있는 파일
  •  이미 생성된 레포지토리에 .gitignore을 추가하고 싶다면? 로컬에서 파일 생성 후 push 하거나 밑에 링크에서 생성 후추가하기
 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com

 

728x90
반응형
최근에 올라온 글
최근에 달린 댓글
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Total
Today
Yesterday
반응형