GitHub

https://github.com/Choidongjun0830

CS

Git Commands

gogi masidda 2024. 11. 22. 15:35

브랜치(Branch)

소프트웨어를 개발할 때, 개발자들간에 동일한 소스코드를 함께 공유하고자 할 때.

하나의 소스코드로 동시에 다양한 작업을 할 수 있음. 

 

브랜치 생성

터미널 켜기 -> git branch [branch명] -> git switch [branch명] (HEAD가 가리키는 브랜치 변경) -> git commit

=> 브랜치가 생성됨.

 

브랜치 합치기

merge

git switch [브랜치명1] -> git merge [브랜치명2] (중복된 부분이 있으면 살릴 부분을 정해두어야 함)

-> git switch [브랜치명2] -> git merge [브랜치명1] 

 

 

rebase

git rebase [브랜치명1] -> git switch [브랜치명1] -> git rebase [브랜치명2] 

 

정돈되어 로그가 나타남. 

 

 

 

HEAD: 브랜치에 숨겨진 것

작업 트리의 최신 커밋. 일반적으로 브랜치를 가리킴.

 

상대 참조: 이곳을 기준으로 몇번째 이전 커밋은?

git switch HEAD^

^으로 한번 뒤로. ^의 개수만큼 뒤로 가고, ~뒤에 숫자를 붙이면 그 만큼 뒤로. 

(^: Caret, ~: Tilde)

 

브랜치가 가리키는 커밋의 위치를 바꿀 수 있음

-> git branch -f [브랜치1] [브랜치2] ~ 2

브랜치1을 브랜치2의 2번째 이전으로 옮기기

 

작업 되돌리기

완전히 기록 지우기 -> git reset HEAD~1 : 최근 커밋 한개 지우기. 로컬에서만 사용해야 함. 히스토리를 고쳐써서

 

git revert HEAD : 다른 사용자와 같이 사용할 때는 revert로

 

삭제된 커밋, 브랜치 복구

git reflog : 모든 로그 확인. 해시 값을 확인할 수 있음.

 

git reset --hard 커밋의 Hash : Hash 값으로 되돌리기

 

리셋으로 한것도 해시 값이 남기 때문에 복구 가능

 

커밋 수정

git command --amend -m "메시지" : 가장 최근 커밋을 수정. amend를 수행한 커밋은 기존 커밋과 완전히 다른 별개의 커밋이 된다. 다른 작업자가 작성한 내용에 대해서는 amend 옵션을 사용하지 말자 

 

실수로 브랜치 변경하지 않고 커밋 시

git cherry-pick B2 B3 B4 

git cherry-pick B2...B4

 

 

 

 

728x90

'CS' 카테고리의 다른 글

5.3 비선형 자료구조  (0) 2024.10.19
5.2 선형 자료 구조  (0) 2024.10.18
5.1 복잡도  (1) 2024.10.01
4.7 조인의 원리  (2) 2024.09.30
4.6 조인의 종류  (1) 2024.09.28