github을 사용하지 않았던 기존 project를 github repo에 올리기
git branch -D <브랜치명> 브랜치 삭제
삭제할 브랜치 명이 feature/login 으로 가정
$ git checkout master $ git branch --delete feature/login |
출처 : velog.io/@noyo0123/git-명령어-정리-에러정리-znk1zz2k5e
원격 브랜치 삭제
$ git push origin --delete feature/sth |
출처 : https://www.lesstif.com/gitbook/git-20776547.html
git add . 중 특정파일은 커밋X
git reset <파일이름> |
커밋 취소
git reset --hard : 최신커밋 파일 자체 사라짐.
최신 commit의 변경사항이 사라짐.
git reset --soft : 최신커밋이 취소되고 변경사항이 staged 상태로 되어있음 ( git add . )한 상태
git reset --mixed : 최신커밋이 취소되고 변경사항이 unstaged 상태로 되어있음 ( 파일을 save한 상태 )
https://opentutorials.org/module/4032/24533
cherry-pick
특정 커밋만 빼고싶다면?
- f05c9e6 (HEAD -> addCart)
- d2af8ec ~~~
- 99fa955 ~~~ <- 요 커밋의 수정내용만 빼고싶다면?
- 765f8cd ~~~
git checkout -b addCart-backup // 백업 브랜치를 만듭니다.
git reset --hard 765f8cd한 후에 99fa955커밋에서 수정한 내용을 원래대로 돌려놓고
git cherry-pick d2af8ec
git cherry-pick f05c9e6
을 하면
* f05c9e6 (HEAD -> addCart) * d2af8ec ~~~ |--> 백업브랜치 * 765f8cd ~~~ |
로 될겁니다.
이제 백업브랜치 제거하고
git push <remote origin(원격저장소 명칭)> addCart --force
원격저장소에 있는 git history가 다를거기때문에 push가 안됩니다.
--force로 강제로 밀어넣습니다.
git rm
[ rm <파일> 하고 git rm <파일> 차이 ]
git rm <파일>은 rm <파일> git add <파일>을 한번에 할 수 있대요.
파일을 지우면 끝인데 왜 git add <파일> 하냐고요? git 그렇게 생겨먹었어요.
파일을 다 tracking해요. 그래서 제거해줬으면 git add <파일> 하시면 git status 명령어로 파일도 제거하고, git이 tracking을 안하는 것을 볼 수 있습니다.
레퍼런스 : Why use 'git rm' to remove a file instead of 'rm'? - stackoverflow
git reflog
'github' 카테고리의 다른 글
[Git] Git Push 이후 커밋 메세지 수정하기 (0) | 2022.02.17 |
---|---|
[Git] Visual studio code 와 Git 연동 (add,push,commit) (0) | 2020.12.30 |
[Git] Git 레퍼지토리 생성, 코드 내려받기 및 올리기 (0) | 2020.12.29 |