[GIT] 오늘 배운 git 정리
git사용에 익숙하지 않아 오늘 프로젝트를 하다가 생긴 git관련 이슈를 정리하고자한다. 새로 B브랜치파서 작업해야 할 내용을 A브랜치에서 했을 때, 작업한 내용을 B브랜치를 새로 파서에 적용시키는 일이다.
(+ .gitignore 관련도 있다.)
무시할 파일 gitignore에 추가하기
먼저 .idea/~.xml 파일을 .gitignore파일에 추가한다. (시스템 설정과 관련된 파일이기때문에 원격 저장소에 올리지 않는것이 좋다.)
-
git add .gitignore 를 한 후
-
git status 로 확인을 했더니 아래와 같이 남아있다.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: .gitignore
new file: .idea/render.experimental.xml
-
git reset HEAD .idea/render.experimental.xml :해당 파일을 unstaged 상태로 만든다.(git add와 반대의 명령어이다.)
-
reset : HEAD branch를 이동시킨다.
-
HEAD : 현재 branch를 가리키는 포인터이다.
-
옵션을 주지 않으면 index만 바뀌지만 reset의 옵션 중 --hard를 하면 working dir까지 바뀐다.
-
-
git status 로 확인
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: .gitignore
-
git reset HEAD .
-
git add .
-
git commit -m ""
새로운 브랜치로 작업물 옮기기 (A branch -> B branch)
-
git status : 현재 branch 상태 확인한다.
-
git add : A에서 작업한 것들을 add한다.
-
git stash : add한 것들을 임시저장한다.(stash)
-
git checkout dev
-
git branch B : B branch를 판다.
-
git checkout B : B branch로 이동한다.
-
git stash apply : 임시 저장한 것들을 적용한다.
-
git reset HEAD .
-
git commit -m ""
-
git push --set-upstream origin B
-
--set-upstream : 로컬저장소와 원격 저장소를 명시적으로 연결시키는 것
-