개발
-
(git) 11 - Github 사용법개발/git 2024. 10. 17. 01:54
■ github pushgithub에 repository를 만들게 되면 내 컴퓨터가 아니라github 컴퓨터에 해당 레포지토리를 폴더로 저장하게 되는데 이를 클라우드 저장소라고 한다. github는 형상관리도 제공하는 클라우드 저장소로서 분산버전관리를 해준다. 이 상태는 현재 git init 상태까지 되어 있는 상태이다. 클라우드 저장소 이름이 기본으로 origin 이다.작업한 파일을 origin 으로 연결을 하는 명령어가 remote 이다.따라서 git remote add origin 레포지토리 주소(https://~) git remote -v 를 하면 연결된 레포지토리 확인 가능하다. git ls-remote 도 연결된 레포지토리 확인 명령어이다. 이렇게 파일을 origin/master 브랜..
-
(git) 10 - Git 실습 (고급) rebase 로그 관리개발/git 2024. 10. 16. 23:59
rebase : 코드에 대한 로그를 다시 정리한다. (깔끔하게)squash : 찌그러트리다, 압축하다. 사진과 같이 여러 개로 정리 안된 로그를 "로그인" 이라는 로그로 정리를 하는 방법이다. 여기서는 squash 라고 해서 어떤 점으로 찌그러트릴지(모을지)가 중요하다. 항상 과거로 찌그러뜨려야 한다. 왜냐면 과거 로그가 없어지면 안되기 때문이다. 그래서 과거 로그를 pick 하고, 이후 로그를 squash 처리해준다. 이렇게 git rebase -i HEAD~3 으로 몇 개를 리베이스 할 지를 정하면 된다.rebase 기초가 있어야 merge --squash 를 활용할 수 있다. git reabse -i HEAD~3 명령어를 치면 다음과 같이 나오고,i 키를 누르면 아래 하단처럼 INSERT..
-
(문제해결) 3 - gitbash vscode 자동 연결 해제하기개발/문제해결 2024. 10. 16. 23:38
gitbash로 git reabse -i HEAD~3 명령어를 쳤을 때,gitbash가 아니라 vscode 가 자동으로 자꾸 연결됐다. 확인해보니 git 편집기 설정이 code 로 돼있어서 문제가 됐다. ■ git 편집기 설정 확인git config --global core.editor ■ 기본 편집기 vim 또는 nano 로 변경# vim을 기본 편집기로 설정하는 경우git config --global core.editor "vim"# 또는 nano를 기본 편집기로 설정하는 경우git config --global core.editor "nano" 다음과 같이 변경해준다. 나의 경우는 vim 으로 변경해주고 확인했다. gitbash 가 vscode 자동연결이 해제되고, gitbash에서 뜬다!
-
(git) 9 - Git 실습 (고급) merge 충돌개발/git 2024. 10. 16. 23:02
같은 파일을 다른 브랜치에서 수정하면 충돌이 일어난다. 충돌이 일어나면 git 은 conflic 충돌을 말해주며, 어떤 코드로 진행할지 묻게 된다. 최초 로그인 작업을 만들어준다. topic 브랜치를 만들어주면서 checkout 한다. 여기서 로그인 파일을 "로그인 체크박스" 라는 내용으로 변경한 뒤 topic 브랜치에 commit 한다. 다시 master 브랜치로 와서 커밋해준다. 그리고 이 둘 브랜치를 master 브랜치에 merge 를 시도해본다.그러면 이렇게 merge conflict 가 일어난다. 그리고 파일을 열면 두 가지의 수정본이 나오는데,여기서 원하는 내용만 남기고 수정된 파일이 있기 때문에 git status 를 하면 변경된 파일을 감지한 것을 볼 수 있다. ..
-
(git) 8 - Git 실습 (고급) fast-forward merge / 3 way merge개발/git 2024. 10. 14. 23:47
■ 브랜치 포인터 commit 을 하면 main 브랜치가 생긴다고 오해하는데 그게 아니라,우리가 add 한 것이 점으로 찍히면서 그 기능을 main branch 가지가 가리키게 되는 것이다. 따라서 새로운 기능을 만들면 mb 포인터가 새로운 기능을 가리킨다. 새로운 브랜치 topic 을 만들고 기능을 개발한다고 하면,브랜치가 생기는 것이 아니라 tb 포인터가 가리키게 되는 것이다. tb 포인터가 개발을 하고 커밋을 하면, main 브랜치 포인터는 그대로 있고tb 포인터만 그것을 가리키게 된다. 사진처럼 형상이 그대로 이어졌다면, mb 브랜치가 병합되고 싶다면아이디 중복체크 완료로 mb 포인터가 이동하면 된다. 이렇게 포인터만 이동했다고 해서 fast-forward merge 라 한다. ..
-
(git) 7 - Git 실습 (고급) git branch개발/git 2024. 10. 14. 22:15
commit 을 하면 기본으로 main branch 가 생긴다. 원래는 master branch 였으나, 이름이 문제가 돼 바뀌었다. ※ 몽고 DB도 동일하게 명칭의 문제가 돼 바뀌었다. Master 서버 -> Primary ServerSlave 서버 -> Secondary Server 우리가 블로그를 만든다 가정해보자.작업이 된 마지막 로그인을 헤더가 가리킨다. 만약 로그인에서 이전에 없던 아이디 중복체크라는 로직을 새롭게 만들고 싶다.그렇다면 이 것을 idea branch 로 새로 만들어서 회원가입과 로그인의 히스토리를 다 든 브랜치로 생성한다. 이렇게 두 가지의 브랜치가 있으며,idea 브랜치에서 중복 체크라는 기능을 별도로 개발할 수 있다. 여기서 두 가지의 가지에서 뻗어나온 기점인 로그..
-
(git) 6 - Git 실습 (중급)개발/git 2024. 10. 13. 18:38
■ git reset 되돌리고 싶을 떄는 reset 을 사용하면 되는데 3가지 옵션이 있다. 1. soft2. mixed3. hard 1. hard hard : 완전히 다 날린다. 지금 사진처럼 완전히 처음 상태로 되돌리는 것이다 .test1 상태로 돌아가기를 원할 때 사용한다. hard 는 test2 를 없애버리기 때문에 사용 시 조심해야 한다. 이렇게 하면 파일까지 다 날라가버린다. 2. mixed mixed : 작업영역에서 아직 add 하지 않은 상태로 되돌린다. test2 를 조금 더 변경해야 할 때 사용 = 작업 영역의 내용 변경이 필요할 때 사용한다. 작업 영역을 바꿀 일이 있다면 git reset --mixed (이 전 커밋 버전) 하게 되면,인덱스 영영과 헤더 영역에서 제거돼 ..
-
(git) 5 - Git 실습 (기초)개발/git 2024. 10. 13. 17:44
git init : ex01 파일을 git 작업 영역으로 설정해주기 git status : test1 파일 만든 후 저장하고 git status 하면 git이 변경된 파일을 감지함※ untracked : 아직 관리되고 있지 않다, 관리하고 싶으면 git add 를 써라 git add . : 변경된 모든 파일을 인덱스 영역에 추가한다. 숨김파일 안에 있는 .git > objects > 7c 안에 해쉬 값이 있는데 이게 바로 인덱스 영역에 있는 형상(초록색 부분)이다. git commit -m "메세지 내용" : git 에 남길 메세지 내용을 적는다. ※ git 최초 설정(사용자 정보)git 처음 사용하는 사람은 git 최초 설정을 해줘야 한다. git config --global user...