[Git] Git 사용 시 찾게 되는 명령어 모음

☁️ yeyo·2022년 3월 9일
0
post-thumbnail

Branch 관련 명령어

브랜치명 변경

git branch -m [기존 브랜치명] [신규 브랜치명]

Commit 관련 명령어

💡 staged 되돌리기(staging 취소)

git reset HEAD 파일명

💡 커밋 되돌리기

1. 커밋한 사항 staged 상태로 되돌리기

git reset --soft HEAD~1

숫자에 따라 이전 커밋 1개 혹은 여러개 되돌리기 가능

2. 이전 커밋으로 되돌리기

1) 커밋 ID 확인

git log

2) 되돌리기

git reset --hard 커밋ID

3. reset --hard로 되돌린 커밋 다시 되돌리기

git reflog

목록에서 commit id 확인

git reset --hard 커밋ID

💡 커밋 메시지 수정

1) 수정할 커밋 지정

git rebase -i HEAD~1

2) 목록에서 바꾸고 싶은 커밋메시지의 pick단어를 reword로 변경하고 저장(:wq)

3) wq 입력 후에 각 커밋의 메시지창이 나타남. 여기서 메시지 수정 후 저장

💡 현재 작업 임시 저장

git stash

현재 작업중인 내용들은 임시 저장되고 파일은 이전 상태로 되돌아간다.
임시 저장한 파일들을 원복시키려면

git stash apply

원복하고 삭제하려면

git stash pop

git stash pop (= apply + drop 와 동일)

push/pull 관련 명령어

💡 squash merge

git merge --squash 브랜치명

💡 이미 merge된 내역 squash

1) 수정할 커밋 지정

git rebase -i HEAD~커밋수

2) 병합할 커밋 수정
목록에서 유지할 커밋 메시지는 pick으로 남겨두고 다른 커밋들은 pick을 s로 수정

3) :wq로 저장

💡 원격 저장소의 특정 파일만 pull

git fetch
git checkout origin/main -- 파일경로

💡 origin에 올라간 ignore 파일/폴더 제거

  1. origin에 올라간 ignore 파일 제거
    1) .gitignore 작성
    2) 캐쉬 삭제 후 push
git rm --cached 파일명
// git rm -r cached 폴더명
git add .
git commit -m "ignore file"
git push

⚠️ push 오류

❗️refusing to merge unrelated histories

원인 : 현재 브랜치와 기존 브랜치가 같은 head를 가리키고 있지 않아서

아래 명령어 입력 후 다시 시도

git pull origin branch명 --allow-unrelated-histories

❗️ non-fast-forward

원인 : 원격 저장소와 로컬 저장소 간의 공통분모가 없는 상태에서 병합했을 경우 오류 발생
2가지 방법이 존재.

//1. 강제적인 방법
git push origin +master

//2. pull 시에 공통분모 없는 저장소와의 merge를 허용해주기
git pull --allow-unrelated-histories origin master

+ 지속적으로 추가중

profile
🐋 https://ye-yo.github.io/ 로 블로그 이전했습니다

0개의 댓글