본문 바로가기
복수전공(소프트웨어공학)/Python, Linux, Git 등

자주 찾는 Git 명령어

by 차엔진 2021. 2. 5.

# 깃허브에 잘못 올린 파일 삭제

$ git rm --cached <파일명> 원격 저장소에 있는 파일 삭제되고 로컬은 남음, push까지 해줘야 깃허브에 적용됨

$ git rm --cached -r <폴더명>

$ git rm <파일명> 원격 저장소와 로컬 저장소에 있는 파일 둘 다 삭제함

 

 

# 깔끔하게 파일 삭제

git commit -a
# Changes to be commited:
#	deleted:	project.py
git push

$ git commit -a 변경된 모든 파일을 저장소에 업로드함

로컬에서 파일 삭제한 뒤 commit -a, push 하면 깃허브에서도 파일 삭제되고, 다른 파일 푸시에 섞이지 않고 히스토리만 남음. 커밋메시지 남기지 않으면 Aborting commit due to empty commit message 뜸.

 

 

# 깃허브 파일명 변경

$ git mv <파일명> <적용할 파일명>

당연한 건데 실수했던 부분: 파일명 쓸 땐 확장자명까지.

푸시 하면 깃허브 1 changed file에서 파일명이 뭐에서 뭐로 바뀌었는지 확인 가능함

 

 

# 깃허브 커밋메시지 변경

$ git commit --amend

error: There was a problem with the editor 'vi'. 발생하면 $ git config --global core.editor "code --wait" 한다.

$ git push

더보기
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/.../...'

$ git status

On branch master
Your branch and 'origin/master' have diverged,
and have 13 and 13 different commit(s) each, respectively.

$ git log origin/master *git log와 비교하면 차이 볼 수 있음

$ git merge origin/master 커밋 내역에 Merge remote-tracking branch 'origin/master' 남음

$ git status

On branch master
Your branch is ahead of 'origin/master' by 2 commits.
  (use "git push" to publish your local commits)

깃허브 새로고침 하기 무서웠는데 잘 됨. History에는 커밋메시지가 변경된 기록이 뜨지 않는 듯함.

 

 

# 특정 폴더만 clone

blog.naver.com/paperswithpapers/222177222897

 

# 커밋 유지하면서 파일들을 폴더로 이동

kldp.org/node/164139