상세 컨텐츠

본문 제목

git - branch 2

git

by go_ra_ni 2021. 6. 24. 13:33

본문

728x90

https://www.codeit.kr/

 

코딩이 처음이라면, 코드잇

월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요

www.codeit.kr:443

 

코드잇의 강의를 참고하여 정리함

 

branch와 head

 

 

master branch에서 head의 위치는 master를 가르키고 있다.

 

여기서 premium branch로 이동하게 되면

 

head가 가리키는 branch가 바뀌게 된다.

 

head는 branch를 추적하고 branch는 하나의 commit흐름을 관리한다.

 

 

head의 commit 직접 참조

 

head가 branch를 거치지 않고 직접 commit을 참조해야 할 때가 있다.

해당 commit에서 새로 branch를 만들때가 해당된다.

 

방법은 

 

git checkout commit_id

 

명령어를 사용하면 해당하는 commit에 head가 직접적으로 참조하게 된다.

 

head가 참조표시가 없이 독립적으로 존재한다.

 

 

 

동시작업

 

내가 로컬에서 작업하던 중 remote repo에 누군가가 이미 push할 경우 

작업내용이 덮어써지는 것을 방지하기 위해 오류가 발생한다.

 

이 경우 충돌 해결 방법과 동일하게 수정해주면 된다.

 

git pull로 내용을 받아온 후

 

내용을 수정하는 작업을 한다.

 

여기서 git pull의 역할은 현재 local 작업 내용과 remote 내용을 merge하는 작업이라고 생각하면 된다.

 

 

git fetch - 확인 후 작업하기

 

 

git fetch 를 사용하여 remote repo에서 내용을 가져온다.

 

이후 git diff name origin/name

으로 branch간의 차이를 확인할 수 있다.

 

 

 

git blame - 누가 작성했을까

 

commit의 작성자를 확인하는 명령어이다.

 

git blame file_name

 

명령어를 입력하면 코드의 작성자와 commit id가 출력된다.

위의 commit을 상세히 보려면 git show로 확인하는 절차로 넘어가면 된다.

모든 commit은 확인 대상이 될 수 있다.

 

 

 

git revert - commit 되돌리기

 

이전의 commit 내용을 삭제할 수 있는 명령어이다.

 

현재 최신 commit은 이런 상황이다. 이 commit을 이전으로 되돌리는 명령어가 있다.

 

git revert commit_id

 

명령어를 입력하면 commit message 입력창이 생성된다.

 

입력을 마치고 나면 이렇게 

revert commit이 바로 생성된다.

 

reset명령어와 같은 경우 local에서만 진행할 때 사용이 용이한 반면

이미 remote repo에 올라간 commit을 관리할 때는 revert 명령어를 사용해야 한다.

 

여러 commit 취소하기

 

 

 

여기 보이는 Add the info calculator.py 커밋을 삭제하려고한다.

 

git revert id_1..id_2

명령어에서 id_1의 commit은 취소에 포함되지 않는다.

id_1바로 위 commit 부터 id_2 commit까지가 취소되는 작업이다.

 

 

728x90

'git' 카테고리의 다른 글

git + coding 소모임 1주차  (0) 2021.07.06
git - 활용  (0) 2021.06.25
git - branch  (0) 2021.06.24
git - commit 관리 2  (0) 2021.06.23
git - commit 수정  (0) 2021.06.23

관련글 더보기