개발공부 기강잡자/Git(11)
-
[Git]git pull 할 때 fatal: Need to specify how to reconcile divergent branches. 오류
git pull을 하려니 fatal: Need to specify how to reconcile divergent branches. 오류가 발생했다. 처음에는 main과 새로 생성한 branch의 head 가 달라서 그런가 해서 merge도 해봤지만 오류가 해결이 안됐다. branch를 새로 생성해서 작업하면서 오류가 발생한 것 같다. 문제가 발생하기 전 어떤 작업을 했냐면 main에서 새로운 파일들을 commit 함 push를 하기 전에 원격저장소의 데이터를 가져오기 위해 git pull을 명령했더니 다음과 같은 에러가 발생했다. 새로운 branch가 추가됐다면 pull을 하기 전 어떤 병합 전략을 사용할지 설정해줘야한다. pull 전략 git pull은 원격 저장소에서 로컬 저장소로 파일을 가져와 자..
2023.03.21 -
[Git] branch 이름 변경하기
로컬저장소 branch 이름 변경 git branch -m [old name] [new name] 원격저장소 branch 이름 변경 원격의 new_branch에 로컬저장소 내용을 push한 후 old_branch를 삭제 git push origin new_branch git push origin --delete old_branch 명령어 한줄로 표현하는 방법 git push origin :old_branch new_branch → old_branch 삭제 후 new_branch 생성
2023.03.21 -
[Git - 지옥에서 온 git] 5일차 - 원격 저장소 remote repository
원격 저장소 : 작업한 내용을 인터넷에 올려 백업, 협업할 때 사용되는 저장소 ✔ 소스코드 버전 backup ✔ 다른 사람과 협업 - 일반적으로 인터넷을 통해 연결한다. 원격저장소 생성 git init --bare remote : 원격저장소 remote 디렉토리 생성, 원격저장소를 생성할 때는 --bare 옵션을 사용하여 저장만 하도록 하고, 작업을 하지 않도록 생성한다. 원격저장소 연결 remote add git remote add origin [원격저장소 주소] : 현재 저장소에 원격 저장소를 연결한다. * origin : 원격 저장소 주소에 별칭으로 origin 부여 git remote -v : 현 저장소에 연결된 원격 저장소 확인하는 명령어 - 저장소에 origin 이란 이름으로 c:/projec..
2022.08.11 -
[Git - 지옥에서 온 git] 4일차 - git의 원리 공부 (merge/conflit/3-way merge)
confilt 발생 시, git 내부에서의 처리 merge 명령어를 실행했을 때, confilt (충돌)이 발생한 경우! = master와 exp branch가 공통의 commit에서 수정했고, 공통된 부분을 수정한 경우 ☞ confilt 이 발생하게 됨 자동 병합에 실패했기 때문에 (Automatic merge failed), 사용자가 확인하여 충돌된 부분을 수정하고 commit 해야한다. .git 내부 파일 변화 1. MERGE_HEAD : merge를 하려는 commit의 object_id가 기록되어있음 2. index 파일 : 충돌된 파일명 앞에 각각 1, 2, 3 을 붙어 파일을 가리키게 됨 1이 붙은 파일 : 공통의 f1.txt 내용 2가 붙은 파일 : merge를 명령한, 현재 checkou..
2022.08.09 -
[Git - 지옥에서 온 git] 4일차 - git의 원리 공부 (reset/checkout)
과거로 돌아가기 - reset과 checkout 1. reset 이 상황에서 commit "4"에서 "3" (2f86ae9796c71873d055f01d324979fce1e4cecf)으로 돌아가고 싶을 경우, 다음과 같은 명령어를 사용한다. git reset --hard 2f86ae9796c71873d055f01d324979fce1e4cecf > 가장 최신 commit은 2f86ae9796c71873d055f01d324979fce1e4cecf으로 바뀌게 된다. = refs/heads/master에 기록되어있는 object id 가 변함 (가장 최신 commit id 변경) ∴ reset을 한다 = checkout 하고 있는 branch의 최신 커밋을 바꾸는 것 Q : 그렇다면 4번 commit은 지워진걸..
2022.08.09 -
[Git - 지옥에서 온 git] 4일차 - git의 원리 공부 (branch와 HEAD)
Git 의 HEAD와 branch의 원리, 구조 1. HEAD git init을 하면 생기는 HEAD 파일에는 (일반 텍스트 파일) ref : refs/heads/master 라고 기록되어있다. 이는, 현재 HEAD가 가리키는 branch를 의미한다. (현재 HEAD 파일은 master 파일을 가리킨다.) 그리고 refs/heads/master 파일에는 가장 최신 commit의 object id 가 기록되어있다. = master branch의 가장 최신 commit을 나타내는 (HEAD -> master) 1. 이처럼 git log를 했을 때, 가장 최신 커밋이라고 알려줄 수 있는 이유는 git의 HEAD 파일이 가리키는 master 파일에 가장 최근에 commit한 object id를 가지고 있기 때문..
2022.08.09