Git
[Git] Git access token 만들기 & 협업할 팀원 추가
* Personal access token 만들기 우측 상단의 프로필 - Settings Developer Settings Personal access tokens - Generate new token repo 및 원하는 기능에 체크, 기간 설정 뒤 Generate token 토큰은 안전한 곳에 보관해 둘 것 * 토큰 컴퓨터에 저장하기 윈도우 Windows 자격 증명 관리자 Windows 자격 증명 선택 git:https://@github.com 자격 정보 생성 사용자명(profile들어가면 나오는 사용자이름)과 토큰 붙여넣기 맥 가이드 (링크) Keychain Access 앱 실행 github의 인터넷 암호 항목 선택 사용자명과 토큰 붙여넣기 * 협업할 팀원 추가 레포지토리의 Settings - Man..
[Git] Git 충돌(conflict) 해결하기
# 브랜치 간 충돌 파일의 같은 위치에 다른 내용이 입력된 상황 * merge 충돌 해결하기 - git merge를 이용해 병합을 시도하면 충돌 발생 오류 메시지와 git status 확인 VS Code에서 해당 부분 확인 - 당장 충돌 해결이 어려울 경우 아래 명령어로 merge 중단 git merge --abort - 해결 가능 시 충돌 부분을 수정한 뒤 git add ., git commit으로 병합 완료 * rebase 충돌 해결하기 git rebase main로 리베이스 시도시 충돌 발생 오류 메시지와 git status 확인 VS Code에서 해당 부분 확인 - 당장 충돌 해결이 어려울 경우 아래 명령어로 merge 중단 git rebase --abort * 해결 가능 시 충돌 부분을 수정한 ..
[Git] Git branch를 합치는 두 가지 방법
# 서로 다른 브랜치를 합치는 두 방식 merge : 두 브랜치를 한 커밋에 이어붙입니다. 브랜치 사용내역을 남길 필요가 있을 때 적합한 방식 merge가 좋은 이유는 비파괴적(non-destructive) 단점은 불필요한 merge 커밋이 생기고 같은 변경 사항을 담은 두 세트의 커밋이 남아있게 된다. 프로젝트의 히스토리가 더려워진다. rebase : 브랜치를 다른 브랜치에 이어붙입니다. 한 줄로 깔끔히 정리된 내역을 유지하기 원할 때 적합합니다. 이미 팀원과 공유된 커밋들에 대해서는 사용하지 않는 것이 좋습니다. rebase를 할 경우 master의 모든 커밋이 feature 브랜치의 끝점으로 올라가게 된다. 문제점은 다른 팀원들은 아직 master 브랜치를 사용하고 있다는 것이다. rebase는 새..
[Git] Git 여러 branch 만들어 사용하기
# Branch란??? - 분기된 가지 (다른 차원) 프로젝트를 하나 이상의 모습으로 관리해야 할 때 예) 실배포용, 테스트서버용, 새로운 시도용 여러 작업들이 각각 독립되어 진행될 때 예) 신기능 1, 신기능 2, 코드개선, 긴급수정... 각각의 차원에서 작업한 뒤 확정된 것을 메인 차원에 통합 모든 것을 하나의 프로젝트 폴더에서 진행할 수 있도록 도와준다 # 브랜치 생성 & 이동 & 삭제하기 * 브랜치 생성 git branch [branch-name] * 브랜치 목록 확인 git branch * 브랜치로 이동 git switch [branch-name] checkout 명령어가 Git 2.23 버전부터 switch, restore로 분리 # 브랜치 생성과 동시에 이동하기 git switch -c [b..
[Git] Git 이전으로 돌아가는 두 가지 방법(reset, revert)
* Git에서 이전으로 돌아가는 두 방식 reset : 원하는 시점으로 돌아간 뒤 이후 내역들을 삭제한다. revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행합니다. * reset과 revert * reset : 말 그대로 시간을 과거로 되돌리는것 만약 한 단계 전 시점으로 과거를 되돌리려면 해당 과거로 돌아간 다음 이후 행적은 히스토리에서 지워버린다. * 한 번 공유공간에 올라간 내역을 reset해버리면 협업시 문제가 발생한다. 그걸 기반으로 작업한 다름사람과 심각한 충돌을 일으키게 된다. 따라서 한번 공유된 커밋들은 revert를 이용해서 되돌려야 한다. => 이후 시점의 기록들을 전부 지워버린다. * revert : 행적을 삭제하는것이 아니라 이 때의 변화를 거꾸로 수행하는 캡슐을 하나 넣음..
[Git] Git 변화를 commit하기
* 프로젝트의 변경사항들을 commit하기 - git status (변경된 사항 확인) 추적하지 않는(untracked) 파일: Git의 관리에 들어간 적 없는 파일 - git add test.html (파일 하나 담기) git status로 확인 가능 - git add . (모든 파일 담기) git status로 확인 가능 * Commit하기 - 아래 명령어로 commit git commit Vi 입력 모드로 진입 * 작업Vi 명령어상세 입력 시작 i 명령어 입력 모드에서 텍스트 입력 모드로 전환 입력 종료 ESC 텍스트 입력 모드에서 명령어 입력 모드로 전환 저장 없이 종료 :q 저장 없이 강제 종료 :q! 입력한 것이 있을 때 사용 저장하고 종료 :wq 입력한 것이 있을 때 사용 위로 스크롤 k g..