GIT 12

fetch 와 pull 의 차이

fetch 원격 저장소의 최신 컷밋을 로컬로 가져오기만 함 pull원격 저장소의 최신 커밋을 로컬로 가져와 merge 또는 rebase     fetch 한 내역 적용 전 살펴보기원격의 main 브랜치에 커밋을 추가해 주겠다. 원격에 커밋을 추가했음에도 불고하고 source tree 로 확인시 원격에서 추가한 커밋이 보이지 않는다. 원격 저장소의 최신 커밋을 로컬로 가져오기 위해선 아래 명령어를 입력해 주면 된다.git fetch 이제 원격에서 추가한 커밋을 로컬에서 확인 할 수 있게 되었다!  만약에 원격에서 수정한 내용을 "확인" 만 하고싶으면 어떻게 해야할까?  아래의 명령어로 origin/main 으로 이동해서 확인하면 된다git checkout origin/main 원격에서 추가한 fetch 커..

GIT 2024.05.01

git config

global 설정과 local 설정config 를 --global 과 함께 지정하면 git 이 깔린  컴퓨터에서 전역으로 설정된다.특정 프로젝트만 이름을 다르게 설정하고 싶다면 아래의 명령어를 입력해라git config user.name "새로운이름"  설정값 확인git config --listgit config --global --list // 글로벌 설정만 보기 설정값을 에디터에서 확인하고 싶다면?git config -e 기본 에디터를 vs code 로 바꿔보자!git config --global core.editor "code --wait"위의 명령어를 입력하고 에디터로 설정 파일을 열어보면 아래와 같은 속성이 추가되어있다.--wait: 에디터에서 수정하는 동안 CLI를 정지git commit 등의..

GIT 2024.04.30

원격의 브랜치 다루기

로컬에서 from-local 브랜치를 만들고 git push 를 입력해보자  처음 git push 만 입력했을 땐 어떤 주소로 push 하라는 것인지 인식하지 못함!브랜치를 생성하고 git push -u origin from-local 을 진행.그 다음부턴 git push 만 사용해도 된다! push 를 완료하고 github 에서 확인하면 로컬에서 생성한 브랜치가 정상적으로 원격에도 생성됨을 확인 할 수 있다!   원격 브랜치 목록을 확인하는 명령어 git branch -r //원격만 git branch -a // 로컬, 원격 모두이 명령어는 로컬이 원격 브랜치의 존재 여부를 알고있을때만 목록이 나타남! 즉 원격에서 몰래 test 브랜치를 만들면 local 에서 그 브랜치는 나타나지 않음! 원격의 변화를..

GIT 2024.04.29

협업 시 충돌 해결 방법

현재 브랜치 상태 로컬과 원격이 동기화 되어 있는 상태이다Local 에서 jaguars.yaml 을 수정해보겠다  Github 에서 직접 jaguars.yaml 도 수정하겠다.  Local 의 변경사항과 원격의 변경사항이 충돌을 일으키기 때문에 아래와 같이 push 가 동작하지 않는다. 이를 해결하기 위해선 2가지 방법이 있다.1. git pull --no-rebase 2. git pull --rebase  1번 먼저 살펴보자git pull --no-rebase 를 local git bash 에서 입력시 다음과 같이 창이 바뀐다. 이 화면이 의미하는 바는 merge conflic 를 해결해달라는 의미이고 원하는 변경사항을 선택하고 다음의 명령어들을 입력하면 된다.git add .git commit이 과정..

GIT 2024.04.29

원격 저장소 사용하기

GitHub 레포지토리 생성 후 아래의 명령어 사용 git remote add origin (원격 저장소 주소)git branch -M main현재 위치한 브랜치의 이름을 main 으로 바꿈git push -u origin main-u 옵션은 현재 위치한 main 브랜치와 origin 주소를 엮어줌 .이후에 main 브랜치 위에서는 git push 만 입력해도 origin 으로 전송됨 원격 저장소 이름은 흔히 origin 으로 사용한다. 다른 것으로 수정이 가능함! remote 의 목록을 확인하고 싶다면 아래의 명령어 입력 git remote

GIT 2024.04.29

checkout

checkout 으로 과거를 이동하기 git checkout 커밋id 아래는 현재의 커밋 상태이다 나는 현재 main 브랜치에 위치해 있고 "delta 1st commit" 으로 check out 해보겠다. 아래의 명령어를 입력하자 git checkout 4697b11f864아래처럼 HEAD 가 이동된 것을 알 수 있다. 내가 생각하기에 checkout 은 2가지 이유때문에 쓸 것같다 1. 과거의 내역을 그대로 유지하며 파일의 상태만 역행 시키고 싶을때.2. 특정 시점에서 분기 브랜치를 생성하고 싶을때  현재 HEAD 위치에서 wow 브랜치를 생성해 보겠다  "delta 1st commit" 위치에서 wow 브랜치가 생성됨을 확인 할 수 있었다.

GIT 2024.04.29

충돌 해결

현재 브랜치 상태Main 브랜치에서는 Tigers, Leopards, Panthers 를 수정 conflict-1 브랜치에서는 Tigers 수정 conflict-2 브랜치는 2번의 커밋으로 나눠서 Leopards 와 Panthers 수정 1. merge 충돌 해결하기git merge conflict-1 로 병합을 시도하면 충돌 발색오류 메시지와 git status 확인vs code에서 해당 부분 확인 conflict-1 과 main 브랜치는 똑같은 tiger 파일에서 수정했음으로 충돌이 발생한다. conflict-1 브랜치에선 manager 를 Deborah 로 변경했었고 main 브랜치 에선 Kenneth 로 변경했었다. Accept Current Change: main 브랜치에 있는 내용 선택Acce..

GIT 2024.04.28

merge 와 rebase

서로 다른 브랜치를 합치는 두 방식merge: 두 브랜치를 한 커밋에 이어 붙인다.브랜치 사용내역을 남길 필요가 있을 때 적합한 방식이다. rebase: 브랜치를 다른 브랜치에 이어 붙입니다.한 줄로 깔끔히 정리된 내역을 유지하기 원할 때 적합다. 1.  merge로 합치기add-coach 브랜치를 main 브랜치로 merge 해보자 main 브랜치로 이동 아래의 명령어로 병합git merge add-coach   add-coach 가 main 브랜치와 병합되어서 새로운 커밋이 생겼다. 이제 add-coach 브랜치는 쓸모가 없다.병합된 브랜치는 아래의 명령어로 삭제 해주자git branch -d add-coach add-coach 브랜치를 삭제한 상태에서 git reset 명령어로 main 브랜치를 A..

GIT 2024.04.28

reset 과 revert

reset : 원하는 시점으로 돌아간 뒤 이후 내역들을 지웁니다.revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행합니다.revert 는 특정 시점의 커밋 내용만 선택적으로 취소해야 하는 경우에 사용한다.  reset 을 사용해서 과거로 돌아가기되돌아갈 시점 "Add team cheetas"의 커밋 해시 복사 git reset --hard (돌아갈 커밋 해시)  뒤에 커밋 해쉬가 없으면 마지막 커밋으로 돌아감 git reset --hard  revert 를 사용해서 과거로 돌아가기  현재 git log 는 아래와 같다. 만약 아래의 명령어를 실행한다면 무슨일이 일어날까? git revert f7e6f0"Replace Lions with Leopards" 의 수정내역을 취소하고 commit 까지 같..

GIT 2024.04.26

commit + diff

각 커밋은 고유한 해쉬문자열을 가지고 있음 git commit -> vim 에디터로 이동git commit -m "FIRST COMMIT" -> 간편하게 커밋방법  git diff 명령어$ git diffdiff --git a/lions.yaml b/lions.yaml // a는 이전버전 b는 다음버전deleted file mode 100644 // 이 파일이 삭제됐다index db643e2..0000000 // 파일의 고유 인덱스 번호 --- a/lions.yaml +++ /dev/null@@ -1,8 +0,0 @@ // (-)는 이전파일 (+)는 다음 파일. -team: Lions--manager: Mary--members:--members:- - Thomas- - Karen- - Mar..

GIT 2024.04.25